批次檔參考
批次檔參考
以下批次檔須與 vhdx 檔放在相同資料夾。
僅供參考,仍有進一步優化與發展的空間,請自行發揮。
VHDX 操作
REM 建立新 VHDX 檔
@echo off
REM 批次檔所在資料夾
set dir=%~dp0
REM 產生指令檔,並執行之
REM 虛擬大小單位為 MB,1GB = 1024MB
echo create vdisk file=%dir%<檔名>.vhdx maximum=<虛擬大小,MB> type=expandable > %dir%cmd.txt
diskpart /s %dir%cmd.txt
REM 刪除指令檔
del %dir%cmd.txt >nul
pause
REM 建立 差分 檔
@echo off
REM 批次檔所在資料夾
set dir=%~dp0
REM 產生指令檔,並執行之
echo create vdisk file=%dir%<檔名>.vhdx parent=%dir%<父檔名>.vhdx > %dir%cmd.txt
diskpart /s %dir%cmd.txt
REM 刪除指令檔
del %dir%cmd.txt >nul
pause
REM 合併 差分 檔
@echo off
REM 批次檔所在資料夾
set dir=%~dp0
REM 產生指令檔,並執行之
echo select vdisk file=%dir%<檔名>.vhdx > %dir%cmd.txt
echo merge vdisk depth=<合併深度,通常為 1> >> %dir%cmd.txt
diskpart /s %dir%cmd.txt
REM 刪除指令檔
del %dir%cmd.txt >nul
pause
REM 於還原用差分節點或獨立管理用系統手動執行
REM 還原差分檔
@echo off
REM 批次檔所在資料夾
set dir=%~dp0
REM 刪除正常節點
del %dir%<正常節點檔名>.vhdx
REM 重新產生正常節點
echo create vdisk file=%dir%<正常節點檔名>.vhdx parent=%dir%<父檔名>.vhdx > %dir%cmd.txt
diskpart /s %dir%cmd.txt
REM 刪除指令檔
del %dir%cmd.txt >nul
REM 重開機
REM shutdown /r /f /t <秒數>
pause
REM 正常節點與還原用節點由相同父節點差分而來
REM 於父節點以工作排程或服務執行
REM 選單中還原用節點最好在正常節點之後或預設選擇正常節點
REM 磁碟代號需固定,否則路徑變動則無法正常執行
REM 還原後重開機
@echo off
REM 批次檔所在資料夾
set dir=%~dp0
REM 正常節點路徑
set normal_file=%dir%<正常節點檔名>.vhdx
REM 還原節點路徑
set recovery_file=%dir%<還原節點檔名>.vhdx
REM 還原節點路徑
set parent_file=%dir%<父節點檔名>.vhdx
REM 刪除正常節點
del %normal_file%
REM 刪除還原節點
del %recovery_file%
REM 若正常節點仍存在則表示目前以正常節點開機,結束程式離開
if exist %normal_file% (
exit
)
REM 至此正常節點已不存在
REM 若還原節點不存在則表示目前以父節點開機,結束程式離開
if not exist %recovery_file% (
exit
)
REM 至此還原節點仍存在
REM 目前進入還原節點,執行正常節點之還原
REM 重新產生正常節點
echo create vdisk file=%dir%%normal_file% parent=%dir%%parent_file% > %dir%cmd.txt
diskpart /s %dir%cmd.txt
REM 刪除指令檔
del %dir%cmd.txt >nul
REM 重開機
shutdown /r /f /t <秒數>
pause