@echo off
:: BatchGotAdmin
::-------------------------------------
REM --> Check for permissions
nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Requesting administrative privileges...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
echo UAC.ShellExecute "%~s0", "", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
exit /B
:gotAdmin
if exist "%temp%\getadmin.vbs" ( del "%temp%\getadmin.vbs" )
pushd "%CD%"
CD /D "%~dp0"
::以上是提权代码,不用以管理员权限运行也可以提权到管理员权限
@echo off
set DiskFile=czchd.vhdx
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%
:: 等待用户按下任意键
pause
:: 卸载(弹出)虚拟磁盘
echo 卸载虚拟磁盘 %DiskLabel%
echo select vdisk file="%~dp0%DiskFile%" > temp_diskpart_script.txt
echo detach vdisk >> temp_diskpart_script.txt
diskpart /s temp_diskpart_script.txt
del temp_diskpart_script.txt
echo 虚拟磁盘 %DiskLabel% 已卸载