|
本批处理仅支持windows 7以上版本的操作系统(包括相应版本的PE),可以将vhd文件拖动到此批处理上,自动进行挂载和卸载。
如果批处理检测到VHD已经被挂载,将执行卸载操作,反之将执行挂载操作,可以免去进入磁盘管理器操作的麻烦。
代码如下,将文件保存到文本文档,并将后缀改为“.cmd”或“.bat”(不包括引号)。
@echo off
if not exist %systemroot%\System32\zh-CN\diskpart.exe.mui exit
if "%~2" neq "" exit
>%temp%\d.log (echo select vdisk file=%1&echo detail vdisk)
for /f "delims=" %%i in ('%systemroot%\system32\diskpart.exe /s %temp%\d.log^|%systemroot%\system32\find.exe "关联的磁盘号"') do set ach=%%i
if not defined ach echo.&echo 遇到错误: 文件或目录损坏且无法读取。&goto t
if "%ach:~0,3%"=="找不到" set "part=attach"&%systemroot%\system32\attrib.exe -r %1
if "%ach:~0,3%"=="关联的" set part=detach
>%temp%\d.log (echo select vdisk file=%1&echo %part% vdisk)
for /f "tokens=2" %%i in ('%systemroot%\system32\diskpart.exe /s %temp%\d.log') do set inf=%%i
echo.&echo %inf%
:t
>nul %systemroot%\system32\choice.exe /t 1 /d n
exit
注意:vhd文件无法在NTFS以外的文件系统里挂载, 这个限制和 SSD trim 如出一则,非NTFS文件系统进行 trim 会出错。
经测试,在windows 8 中依然没有解决以上两个问题。
[[i] 本帖最后由 2012raps 于 2012-12-9 22:16 编辑 [/i]] |
|