以我的經驗來說.
應該是 %date% 的格式出了問題.
我的 date format 是設成 USA
但是我一 echo 你的 %date% format 就出現了 7/9
echo %date=~0,4%%date:~5,2%%date:~8,2%
MS 的 Fire structure 不可以用 / 去命名
我的做法是 你需要 FORFILES 這個檔案
代碼:
FORFILES /P "C:\FROM_FOLDER" /M *.tif /D -90 /c "cmd /c C:\Backup\Job.Scripts\7z\7za a \\TO_SERVER\TO_FOLDER\Backup.7z @file"
RENAME \\TO_SERVER\TO_FOLDER\Backup.7z %date:~-4,4%%date:~-10,2%%date:~-7,2%.7z
FORFILES /P "C:\FROM_FOLDER" /M *.tif /D -90 /c "cmd /c del @file"
第一行: 用 Forfiles 找出 多過 90 天的 tif 檔 然後用 7z 壓縮成 Backup.7z
第二行: 把 Backup.7z 重新命名成今天的日期
第三行: 用 Forfiles 刪除 多過 90 天的 tif 檔
然後把這個 BAT 檔放到 Scheduled Tasks 每三個月跑一次
這是針對 Window 2003 SP2 所寫的!