更新於 2024/03/22閱讀時間約 2 分鐘

[Batch] 使用bat檔案進行資料備份

此文章同步刊登於我的部落格


如果有在Windows系統中備份資料的需求

如果可以寫好一個批次檔,並使用工作排程定期複製檔案到指定目錄那就太方便了

以下是使用xcopy指令實現的一個簡易的bat檔教學


教學

一、bat檔案

  1. backup.bat
    @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 檔案備份完成
    請注意這個bat檔案的編碼格式要存成UTF-8
    或是存成其他編碼後修改chcp的設定
    才不會發生中文亂碼的問題

二、使用方式

  1. 直接在指令中輸入備份資料夾與目標資料夾
    backup.bat "C:\test\source" "C:\test\target"
  2. 直接左鍵點擊兩下檔案,使用交互式命令列輸入目標資料夾


環境

  • Windows 10


參考資料

分享至
成為作者繼續創作的動力吧!
© 2024 vocus All rights reserved.