
求助哪位幫我修改一下這個(gè)創(chuàng)建虛擬機(jī)磁盤的批處理比如:文件在D:Win8.1_GPT_VHD目錄下在批處理內(nèi)直接輸入這個(gè)路徑運(yùn)行,并且要在第41行指定文件名才能運(yùn)行,否則會(huì)出錯(cuò)!如果直接拖進(jìn)去就變成D:Win8.1_GPT_VHDWin8.1_GPT_VHD.VHDX運(yùn)行就出錯(cuò)! 我的想法是直接把文件拖進(jìn)去,批處理自動(dòng)識(shí)別文件名。不用再手動(dòng)輸入!
- @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.請(qǐng)輸入已創(chuàng)建父vhdx文件的路徑。
- echo.
- set vhdx_path=
- set /p vhdx_path=請(qǐng)輸入:
- if %vhdx_path%== goto :vhdx_path
- if not %vhdx_path:~1,2%==: (
- color 4f
- cls
- echo.
- echo.路徑輸入錯(cuò)誤。
- 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.請(qǐng)勿將路徑設(shè)在分區(qū)根目錄
- 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=請(qǐng)輸入:
- if %sub_name%== goto :sub
- color 0f
- cls
- echo.
- echo.正在創(chuàng)建子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.已成功創(chuàng)建子vhdx文件。
- pause
- exit
nclick="copycode($('code0'));">復(fù)制代碼