使用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 不再要求確認刪除