[Batch] bat檔案進行資料備份
本文最後更新於:2024年5月2日 晚上
對於在Windows系統中備份資料的需求
如果可以寫好一個批次檔,並使用工作排程定期複製檔案到指定目錄那就太方便了
以下是使用xcopy
指令實現的一個簡易的bat檔教學
教學
一、bat檔案
- backup.bat請注意這個bat檔案的編碼格式要存成UTF-8
@ECHO OFF @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 檔案備份完成 PAUSE
或是存成其他編碼後修改chcp
的設定
才不會發生中文亂碼的問題
二、使用方式
直接在指令中輸入備份資料夾與目標資料夾
backup.bat "C:\test\source" "C:\test\target"
直接左鍵點擊兩下檔案,使用交互式命令列輸入目標資料夾
環境
- Windows 10
參考資料
[Batch] bat檔案進行資料備份
https://hankz1108.github.io/posts/20231107-batch-backup-folder/