|
本帖最后由 879792799 于 2023-3-6 12:31 编辑
求如下效果
拖动一个VHD文件到此批处理上
自动创建一个文件名*_child.vhd{vhdx}的{子vhd文件}====={*代表父VHD名称}
求大大指点一下 谢谢
--------------------------------------------------------------------------------------
补充一::::本人在用的成品----食用方法@修改批处理中路径--运行批处理生成vhd右键菜单--在vhd上点击右键
依照10#singel大大指点 !谢谢singel大大!!!! 还有另外一位大大--sorry我忘记是谁了 也谢谢了!!
我也依葫芦画瓢 拼凑一个 非原创 自己拼凑 感觉不错 供大大们参考一下
可以在线VHD制作{在多级vhd系统中 当前正在用的子VHD不可以 但是上一级的vhd可以创建}子vhd系统
注意更改批处理中对应文件路径
------------------------------------------------------------------------------------
@echo off
if "%1"=="" goto :reg
echo off
color 1f
:vhd_path
bcdedit -enum {current}|find /i "vhd="
if %errorlevel%==0 (set drive=D:) else set drive=C:
color 1f
cls
echo.
echo.请输入已创建父VHD文件的路径。
echo.
set vhd_path=%1
if "%vhd_path%"=="" goto :vhd_path
if not "%vhd_path:~1,2%"==":\" (
color 4f
cls
echo.
echo.路径输入错误。
echo.
set /p t=按回车键重输。
goto :vhd_path
)
for /f "delims==" %%i in ("%vhd_path%") do set sys_drive=%%~di
if not exist %sys_drive%\nul (
color 4f
cls
echo.
echo.%sys_drive:~0,1%盘不存在。
echo.
set /p t=按回车键重新输入。
goto :vhd_path
)
if /i "%vhd_path:~-4%"==".vhd" (
for /f "delims==" %%i in ("%vhd_path%") do set vhd_name=%%~ni
for /f "delims==" %%i in ("%vhd_path%") do set sys_folder=%%~pi
) else (
for /f "delims==" %%i in ("%vhd_path%") do set vhd_name=Win7
for /f "delims==" %%i in ("%vhd_path%") do set sys_folder=%%~pnxi
)
if "%sys_folder:~-1%"=="\" set sys_folder=%sys_folder:~0,-1%
if "%sys_folder%"=="" (
COLOR 4f
cls
echo.
echo.请勿将路径设在分区根目录
echo.
set /p t=按回车键重输。
goto :vhd_path
)
if not exist "%sys_drive%%sys_folder%\%vhd_name%.vhd" (
COLOR 4f
cls
echo.
echo."%sys_drive%%sys_folder%\%vhd_name%.vhd"不存在。
echo.
set /p t=按回车键重输。
goto :vhd_path
)
:sub
color 1f
cls
echo.
echo.输入子VHD文件的名字。
echo.
set sub_name=
set /p sub_name=请输入:
if "%sub_name%"=="" goto :sub
color 0f
cls
echo.
echo.正在创建子VHD文件。。。
echo.
echo create vdisk file="%sys_drive%%sys_folder%\%sub_name%.vhd" parent="%sys_drive%%sys_folder%\%vhd_name%.vhd" > "%temp%\create.txt"
diskpart /s "%temp%\create.txt"
color 1f
cls
echo.
echo.已成功创建子VHD文件。
pause
exit
goto eof
:reg
reg add "HKCR\Windows.VhdFile\shell\vparent" /f /ve /t REG_SZ /d "建立差分VHD"
reg add "HKCR\Windows.VhdFile\shell\vparent\command" /f /ve /t REG_SZ /d "E:\创建子VHD.bat %%1"
goto eof
-----------------------------------------------------------------------------------
红字部分需要依照自己需要更改对应路径
===================================================================
|
|