说明
主要是提取硬盘号麻烦,里面原理是diskpart总会把U盘列为最后一个,当然缺点就是,只能一个一个的来。用的话可以完善下。
步骤
@echo offrem 提取所有的disk
echo list disk |diskpart >listdisk.txtrem 提取disk行
set s= -2
(for %%i in (".\listdisk.txt") do (setlocal enabledelayedexpansionfor /f "delims=" %%j in ('type "%%i"') do (set /a n+=1 & set "_!n!=%%j")for %%j in (!s!) do (set /a "x = (n+1) * (%%j>>31&1) + %%j"for %%k in (!x!) do (echo;%%~ni !_%%k!))endlocal
)) > Result.txtrem 提取disk id
for /f "tokens=3 delims= " %%A in (Result.txt) do (
set lat=%%A
)
echo disk id =%lat%ping 127.1 -n 5 >nul 2>nul
rem disk转换
(echo select disk %lat% &echo clean &echo creat partition primary &echo format quick label="yx" &echo assign letter=t &echo exit) >222.txt
diskpart /s 222.txt
rem 删除tmpe文件
del .\Result.txt
del .\listdisk.txt
del .\222.txtecho 格式转化成功
ping 127.1 -n 5 >nul 2>nul