无忧启动论坛

标题: 自动挂载、卸载VHD批处理(拖动版) [打印本页]

作者: 2012raps    时间: 2012-12-8 14:35
标题: 自动挂载、卸载VHD批处理(拖动版)
本批处理仅支持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]]
作者: haook    时间: 2012-12-8 15:06
请问楼主在windows 8 PE中,VHDX格式支持自动挂载、卸载吗

[ 本帖最后由 haook 于 2012-12-8 15:08 编辑 ]
作者: 2012raps    时间: 2012-12-8 19:02
标题: 回复 #2 haook 的帖子
支持,并且这个对文件后缀没有要求。
作者: wuwuwu666    时间: 2012-12-9 14:30
希望楼主能做一个批处理,  自动使用bootice修改分区ID为12隐藏该分区,改ID为07为显示分区.
作者: 2012raps    时间: 2012-12-9 22:25
标题: 回复 #4 wuwuwu666 的帖子
只能用在windows 7 (pe3.0)以上的 显示、隐藏分区批处理
http://bbs.wuyou.net/forum.php?m ... D1&frombbs=1###

[ 本帖最后由 2012raps 于 2012-12-9 22:41 编辑 ]




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net./) Powered by Discuz! X3.3