脚本代码下面自取,建议用第三版或第五版代码,复制进记事本,记事本后缀修改为bat文件,把这个文件放到同vhdx文件的目录下即可双击运行
为什么要用虚拟磁盘:
1、用来给某些软件拉屎用。你们使用一些国产软件的时候,是否碰到过他们在你的磁盘根目录里乱拉屎(乱创建文件夹)的现象,这些软件专挑容量最大的磁盘去拉屎,正好windows的虚拟磁盘最大可以设置到64TB辣么大
2、无敌的安全性。一些重要的资料放在用bitlocker加密后的虚拟磁盘,平常磁盘不挂载到系统,在资源管理器里看不到这个磁盘,就算虚拟磁盘挂载,有bitlocker也不可能进入磁盘。
3、便携性。使用只需要双击挂载即可当作正常的磁盘来使用,没有任何区别,配上开机自动挂载脚本,那就完全不用管拉。不挂载之前就和普通文件一样,可以随时整体复制移动走,也方便到处备份
=======================================================
跑题了。。
自动挂载虚拟磁盘脚本代码:
如何自动挂载虚拟磁盘?用diskpart工具。先用命令创建diskpart使用的挂载磁盘指令文件,用diskpart执行这个文件里的指令。
第一版:简单版
echo select vdisk "C:\文件路径\文件名.vhdx" > temp_diskpart_script.txt
echo attach vdisk >> temp_diskpart_script.txt
:: 运行diskpart来执行临时脚本
diskpart /s temp_diskpart_script.txt
:: 删除临时脚本文件
del temp_diskpart_script.txt
这是第一版,需要邮件以管理员权限运行(麻烦),另外实测脚本文件放在和虚拟磁盘同目录下才不会出现挂载没反应的bug,所以有了第二版
第二版:自动寻找当前目录下的磁盘挂载
setlocal enabledelayedexpansion
:: 寻找当前目录中的后缀为 .vhdx 的文件
set "search_dir=%~dp0"
set "extension=.vhdx"
set "vhdx_file="
for %%f in ("%search_dir%*%extension%") do (
set "vhdx_file=%%~nxf"
goto :MountDisk
)
:MountDisk
if not defined vhdx_file (
echo 未找到后缀为 .vhdx 的文件
goto :End
)
set DiskFile=%vhdx_file%
set DiskLabel=MyVirtualDisk
:: 创建一个包含diskpart命令的临时脚本文件
echo select vdisk file="%~dp0%DiskFile%" > temp_diskpart_script.txt
echo attach vdisk >> temp_diskpart_script.txt
:: 运行diskpart来执行临时脚本
diskpart /s temp_diskpart_script.txt
:: 删除临时脚本文件
del temp_diskpart_script.txt
echo 磁盘已挂载到 %DiskLabel%
:End
endlocal
bat文件放到和虚拟磁盘同目录下,脚本检测当前目录中的虚拟磁盘文件,检测到,直接跳转挂载命令,这里设了个for循环,这个目录下的所有虚拟磁盘文件都会被挂载
那么还有需要右键以管理员权限运行的麻烦事,直接加上我的上一篇发的cmd提权代码,完整可用版的bat脚本就出来了:
第三版:无需以管理员身份运行,直接双击就能用
@echo off
:: BatchGotAd

本文详细介绍了如何使用bat脚本在Windows系统中自动挂载虚拟硬盘,包括不同版本的脚本,如使用diskpart进行挂载,以及增强安全性(BitLocker加密)和便携性的方法。作者分享了从简单版本到包含密码输入和自动弹出的完整解决方案。
最低0.47元/天 解锁文章
1266





