for /f "delims=" %%j in ('type "%CurDir%\volname.txt"') do (
set "str=%%j"
>>$ echo,!str: =!
)
move $ "%CurDir%\volname.txt" >nul
找到目标盘符前一行内容为GUID。
for /f "delims=" %%c in (%CurDir%\volname.txt) do if "%%c"=="%drivername%" (set guid=!char! &goto :end) else (set char=%%c)
移除目前挂载盘符,指定GUID为新盘符。
:end
echo %drivername%
echo %guid%
echo y | del %CurDir%\volname.txt
mountvol %drivername% /D
mountvol Y:\ %guid%
pause >nul
::优化一下。先设置变量,当符合条件时跳出循环。
for %%i in (Z Y X W V U T S R Q P O N M L K J I H G F E D C) do (
set drivername=%%i:\
vol %%i:|findstr "Transcend"&&goto volname)
:volname
mountvol >%CurDir%\volname.txt
for /f "delims=" %%j in ('type "%CurDir%\volname.txt"') do (
set "str=%%j"
>>$ echo,!str: =!)
move $ "%CurDir%\volname.txt" >nul
for /f "delims=" %%c in (%CurDir%\volname.txt) do if "%%c"=="%drivername%" (set guid=!char! &goto :end) else (set char=%%c)