使用XCOPY依日期備份到不同資料夾的方法

現在的硬碟空間越來越大,因此備份檔案時,如果能依日期的不同備份到不同的資料夾,在拯救檔案時將更具有彈性。

 

操作流程

1.開啟[程式集]/[附屬應用程式]/[記事本]

 

2.輸入以下兩行指令(可用複製/貼上功能再自行修改內容)

FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (SET _today=%%a%%b%%c)

XCOPY . D:\%_today% /D/K/E/Y/C/I/H

程式說明:

REM 去掉有分隔符號的日期資料放在_today變數

FOR /F "tokens=1-3 delims=/ " %%a IN ("%date%") DO (SET _today=%%a%%b%%c)

REM 備份檔案到D碟今天的日期資料夾內

XCOPY . D:\%_today% /D/K/E/Y/C/I/H

 

FOR /F 是指將後面 %date% 環境變數的值拿來做循環處理。

"tokens=1-3 delims=/ " 表示利用「/」與「 」(空白)這兩分割符號來切割 %date% 環境變數的值,取得順序 1 ~ 3 的字串。

%%a 是指切割出來順序 1 的字串給 %%a 變數,順序 2 的字串給 %%b,其它依此類推。

DO 後面指定 _today 變數,它的內容是由 %%a%%b%%c 所構成。

假如 %date% 環境變數的值為: 2009/03/07星期二,經過程式的切割處理就變成:20090307

 

3.將檔案存在您要備份的磁碟機或資料夾內(一定要切換存檔類型為所有檔案,且副檔名一定要輸入.bat)

 

4.用檔案總管點兩下即可執行設計完成的批次檔(bat),開始進行備份工作。

 

相關程式說明

 

REM去除有分隔符號的時間資料放在_mytime變數

FOR /F "tokens=1-4 delims=:." %%a IN ("%time%") DO (SET _mytime=%%a%%b%%c%%d)

echo %_mytime%

 

程式說明:假如 %time% 環境變數的值為: 15:13:31.21,經過程式的切割處理就變成:15133121

 

 

REM刪除D碟BACKUP資料夾內所有檔案及目錄

RD /S/Q D:\BACKUP

 

參數說明如下:

/S 一併刪除指定目錄裡的所有目錄和檔案

/Q 不再要求確認刪除