
求助哪位幫我修改一下這個創建虛擬機磁盤的批處理比如:文件在D:Win8.1_GPT_VHD目錄下在批處理內直接輸入這個路徑運行,并且要在第41行指定文件名才能運行,否則會出錯!如果直接拖進去就變成D:Win8.1_GPT_VHDWin8.1_GPT_VHD.VHDX運行就出錯! 我的想法是直接把文件拖進去,批處理自動識別文件名。不用再手動輸入!
nclick="copycode($('code0'));">復制代碼
- @echo off
- :vhdx_path
- bcdedit -enum {current}|find /i vhdx=
- if %errorlevel%==0 (set drive=D:) else set drive=C:
- color 1f
- cls
- echo.
- echo.請輸入已創建父vhdx文件的路徑。
- echo.
- set vhdx_path=
- set /p vhdx_path=請輸入:
- if %vhdx_path%== goto :vhdx_path
- if not %vhdx_path:~1,2%==: (
- color 4f
- cls
- echo.
- echo.路徑輸入錯誤。
- echo.
- set /p t=按回車鍵重輸。
- goto :vhdx_path
- )
- for /f delims== %%i in (%vhdx_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 :vhdx_path
- )
- if /i %vhdx_path:~-4%==.vhdx (
- for /f delims== %%i in (%vhdx_path%) do set vhdx_name=%%~ni
- for /f delims== %%i in (%vhdx_path%) do set sys_folder=%%~pi
- ) else (
- for /f delims== %%i in (%vhdx_path%) do set vhdx_name=Win7
- for /f delims== %%i in (%vhdx_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 :vhdx_path
- )
- if not exist %sys_drive%%sys_folder%%vhdx_name%.vhdx (
- COLOR 4f
- cls
- echo.
- echo.%sys_drive%%sys_folder%%vhdx_name%.vhdx不存在。
- echo.
- set /p t=按回車鍵重輸。
- goto :vhdx_path
- )
- :sub
- color 1f
- cls
- echo.
- echo.輸入子vhdx文件的名字。
- echo.
- set sub_name=
- set /p sub_name=請輸入:
- if %sub_name%== goto :sub
- color 0f
- cls
- echo.
- echo.正在創建子vhdx文件。。。
- echo.
- echo create vdisk file=%sys_drive%%sys_folder%%sub_name%.vhdx parent=%sys_drive%%sys_folder%%vhdx_name%.vhdx > %temp%create.txt
- diskpart /s %temp%create.txt
- color 1f
- cls
- echo.
- echo.已成功創建子vhdx文件。
- pause
- exit

