Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

自製 ImageX 系統備份還原批處理:PE 環境下命令行封裝/還原 WIM 映像,附完整腳本代碼

編輯:Win7 系統基礎知識

ImageX 簡介:微軟官方映像封裝工具,基於檔案層級,可依硬體自動尋找驅動,優於扇區級 Ghost(壓縮率低、還原問題多)。原版 Vista/Win7 安裝盤 sources\install.wim 即為 ImageX 產出。實測備份 15GB 系統盤,標準壓縮耗時 20 分鐘,體積約 4GB;還原約 10 分鐘。

因 ImageX 為命令列操作,筆者編寫批處理簡化流程(僅限 PE 環境執行)。

使用說明

  • 僅能在 PE 下運行(ImageX 限制)。Win7 最易:重啟按 F8 →「修復電腦」→ 下一步 →「命令提示字元」→ 切到 .bat 目錄執行。
  • 其他系統需光碟/USB 啟動 PE,但盤符會亂序(D 槽不一定仍為 D),問題較多,待高手改進。

完整批處理代碼

@echo off
title 系統備份程式 姜智昆製作
echo.
:menu
color ce
mode con:cols=90 lines=18
if exist d:\imagex\imagex.exe goto act
echo ===================================
echo 程式將複製 imagex 程式至 D 盤
echo 按任意鍵繼續
echo ===================================
pause >nul
xcopy %cd%\imagex d:\imagex /e /i
goto act
:act
cls
echo ===================================
echo 此程式需在 PE 環境下運行
echo Win7 進入 PE 方法為:
echo 重啟並按下 F8
echo 選擇第一項「修復電腦」
echo 進入後選擇「命令提示字元」
echo 自動備份會預設系統盤為 C 目標盤為 D
echo 自動還原會將 C 盤格式化並用 D 盤檔案還原
echo 如有資料遺失
echo 禁止跨省追捕
echo 歡迎交流 mail:pgydgs@163.com
echo ===================================
pause >nul
goto chose
:chose
cls
echo 請選擇要進行的操作 按 Enter 確認
echo 1. 進行備份
echo 2. 還原系統
echo 3. 刪除備份
echo 4. 退出程式
echo 5. 自動備份
echo 6. 自動還原
echo.
set cho=
set /p cho=輸入:
if /i "%cho%"=="1" goto 1
if /i "%cho%"=="2" goto 2
if /i "%cho%"=="3" goto 3
if /i "%cho%"=="4" goto 4
if /i "%cho%"=="5" goto 5
if /i "%cho%"=="6" goto 6
cls
echo 選擇無效 重新輸入
pause >nul
goto chose
:1
cls
set /p xtpanfu=請輸入要備份的分區盤符:
if not "%xtpanfu%"=="" set xtpanfu=%xtpanfu:~0,1%
set /p panfu=請輸入備份檔案目標盤符:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
if exist %panfu%:\systembackup.wim echo 將刪除以前的備份檔案 & pause && del %panfu%:\systembackup.wim
d:
cd imagex
imagex /capture %xtpanfu%: %panfu%:\systembackup.wim "backup"
echo ====================================
echo 備份完畢!系統備份在 %panfu% 盤
echo 檔案名為 systembackup.wim
echo 請重啟電腦
echo ====================================
set /p panfu=
set /p xtpanfu=
goto chose
:2
cls
set /p panfu=請輸入備份檔案所在盤符:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
set /p xtpanfu=請輸入系統盤符:
if not "%xtpanfu%"=="" set xtpanfu=%xtpanfu:~0,1%
echo =====================================
echo 確定將 %xtpanfu% 盤格式化
echo 並用 %panfu% 盤的映像檔還原嗎?
echo 輸入 Y 繼續
echo 輸入 N 返回選單
echo =====================================
set /p sf=
if /i "%sf%"=="Y" goto Y
if /i "%sf%"=="N" goto chose
cls
echo 輸入無效 將返回選單
pause
goto chose
:Y
format %xtpanfu%: /fs:ntfs /q /y
d:
cd imagex
imagex /apply %panfu%:\systembackup.wim 1 %xtpanfu%:
bcdboot %xtpanfu%:\Windows /s %xtpanfu%:
echo ====================================
echo 系統還原完成!請重啟電腦
echo ====================================
set /p panfu=
set /p xtpanfu=
set /p sf=
goto chose
:3
cls
set /p panfu=請輸入備份檔案所在盤符:
if not "%panfu%"=="" set panfu=%panfu:~0,1%
if not exist %panfu%:\systembackup.wim echo 無法找到檔案,按任意鍵返回選單 & pause >nul && cls && goto chose
del %panfu%:\systembackup.wim /f
echo 備份刪除成功!
goto chose
:4
exit
:5
cls
echo ====================================
echo 該操作將會備份 C 盤到 D 盤
echo 按任意鍵繼續
echo ====================================
pause >nul
d:
cd imagex
imagex /capture c: d:\systembackup.wim "backup"
echo ====================================
echo 系統備份完成!請重啟電腦!
echo ====================================
pause >nul
goto chose
:6
cls
echo ====================================
echo 該操作將會格式化 C 盤!按任意鍵確認
echo ====================================
pause >nul
format c: /q /y
d:
cd imagex
imagex /apply d:\systembackup.wim 1 c:
bcdboot c:\Windows /s c:
echo ====================================
echo 系統還原完成
echo 請重啟電腦
echo ====================================
pause >nul
goto chose

註:當前目錄需有 imagex.exe。

Copyright © Windows教程網 All Rights Reserved