Board logo

标题: 有偿求助bat脚本把脱机的磁盘变成联机并接收参数分区 [打印本页]

作者: sunyunyun    时间: 2019-10-18 18:00     标题: 有偿求助bat脚本把脱机的磁盘变成联机并接收参数分区

这个脚本可以接收参数,然后把一个脱机的磁盘变成联机的状态,然后这个磁盘联机之后可以接收参数,参数有以下几个:1.这是第几个磁盘2.这个磁盘要分几个区3.每个区分多大4.这几个分区的名字。这些参数以字符串的格式传进来,然后用tokens那个分割提取一下不,然后按照这些传进来的参数把这一个盘划分,处理一个盘就可以,不需要循环什么的
参数会传进来,到时候只需要接收就可以。
我的qq:952942434
作者: sunyunyun    时间: 2019-10-18 18:01

我这边写了一个简单的,只能格式化为一个盘,不能接收参数,需要的话可以提供给你
作者: Batcher    时间: 2019-10-18 18:09

回复 2# sunyunyun


    代码发出来吧,我试试看。
作者: sunyunyun    时间: 2019-10-18 18:14

回复 3# Batcher


    方便加个qq吗,这边不太好说清楚
作者: Batcher    时间: 2019-10-18 21:06

回复 4# sunyunyun


这个参数处理的例子你试试吧
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. call :CanShuChuLi "1" "2" "1 3" "E F"
  4. goto :end
  5. :CanShuChuLi
  6. set panfunum=%~1
  7. set PartitionNum=%~2
  8. set PartitionSize=%~3
  9. set PartitionName=%~4
  10. set n=1
  11. for %%i in (%PartitionSize%) do (
  12.    set _PartSize!n!=%%i
  13.    set /a n+=1
  14. )
  15. set n=1
  16. for %%i in (%PartitionName%) do (
  17.    set _PartName!n!=%%i
  18.    set /a n+=1
  19. )
  20. echo 第几个磁盘:
  21. echo %panfunum%
  22. echo 分几个区:
  23. echo %PartitionNum%
  24. echo 分区大小:
  25. set _PartSize
  26. echo 分区名称:
  27. set _PartName
  28. goto :eof
  29. :end
  30. pause
复制代码

作者: sunyunyun    时间: 2019-10-18 21:10

回复 5# Batcher


    @echo off
setlocal ENABLEDELAYEDEXPANSION
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
if '%errorlevel%' NEQ '0' (
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
set nowdir=C:\Users\SERVER\Desktop\脚本
if exist %nowdir%\tmp.txt (del %nowdir%\tmp.txt)
diskpart -S %nowdir%\checkdisk.txt>%nowdir%\tmp.txt

set panfunum=0
for /f "tokens=2 delims= " %%i in (%nowdir%\tmp.txt) do (
echo 正在处理新硬盘%%i
echo select disk %%i>>%%i.txt
echo online disk>>%%i.txt
echo attr disk clear readonly>>%%i.txt
echo create partition primary>>%%i.txt
echo format fs=ntfs label="" quick compress noerr>>%%i.txt
if !panfunum! EQU 0 (set pan=P)
if !panfunum! EQU 1 (set pan=Q)
if !panfunum! EQU 2 (set pan=R)
if !panfunum! EQU 3 (set pan=S)
if !panfunum! EQU 4 (set pan=T)
if !panfunum! EQU 5 (set pan=U)
if !panfunum! EQU 6 (set pan=V)
if !panfunum! EQU 7 (set pan=W)
echo assign letter = !pan!>>%%i.txt
diskpart -S %%i.txt
echo 新硬盘已挂到磁盘分区!pan!
set /a panfunum=!panfunum!+1
)
if exist %nowdir%\tmp.txt (del %nowdir%\tmp.txt)


这是我的代码




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2