此文章同步刊登於我的部落格
如果有在Windows系統中備份資料的需求
如果可以寫好一個批次檔,並使用工作排程定期複製檔案到指定目錄那就太方便了以下是使用xcopy
指令實現的一個簡易的bat檔教學
教學
一、bat檔案
- backup.bat
@ECHO OFF
請注意這個bat檔案的編碼格式要存成UTF-8
@REM 指定語系為UTF-8
chcp 65001
IF "%1" == "" (
SET /P source="請輸入要備份的資料夾絕對路徑:"
) ELSE (
SET source=%~1
)
IF NOT EXIST "%source%\" (
ECHO 路徑不存在
PAUSE
EXIT
)
IF "%2" == "" (
SET /P target="請輸入存放備份資料的絕對路徑:"
) ELSE (
SET target=%~2
)
IF EXIST "%target%\" (
choice /c Yn /m "目標路徑已經存在檔案,是否覆蓋?"
@REM 錯誤的條件
IF ERRORLEVEL 255 GOTO CLOSE
@REM 選擇不覆蓋
IF ERRORLEVEL 2 GOTO CLOSE
@REM 選擇繼續備份
IF ERRORLEVEL 1 GOTO CONTINUE
@REM 取消指令
IF ERRORLEVEL 0 GOTO CLOSE
:CLOSE
ECHO 取消備份
PAUSE
EXIT
:CONTINUE
ECHO 將覆蓋目標路徑檔案
PAUSE
)
xcopy "%source%" "%target%" /s /e /h /i /c /y
ECHO 檔案備份完成
或是存成其他編碼後修改chcp
的設定
才不會發生中文亂碼的問題
二、使用方式
- 直接在指令中輸入備份資料夾與目標資料夾
backup.bat "C:\test\source" "C:\test\target"
- 直接左鍵點擊兩下檔案,使用交互式命令列輸入目標資料夾
環境
- Windows 10