的Robocopy給你指定的日期(用於最大生存週期,MINAGE,MAXLAD,MINLAD)兩個選項 - 無論是相對(正< 1900)或固定日期(否則,視爲YYYYMMDD)。 Full syntax here。
您希望包含在給定日期創建或訪問的文件,因此您必須使用最小/最大lad(上次訪問日期)和固定日期,因此讓我們使用robocopy語法指定您的條件:
1.排除自昨日起未使用的文件:使用/ MAXLAD(today_date - 1天)
2.排除文件使用的今天:使用/ MINLAD(today_date)
把那些一起:
robocopy source_dir destination_dir file_spec /maxlad:%today_minus_1% /minlad:%today%
today
和today_minus_1
瓦爾必須爲YYYYMMDD格式的日期(eg.20120710 ) - 如何獲得它們?那麼,如果你受限於純批次,你將不得不找到腳本來爲你做數學,有一些可用的(例如。here)或自己寫。
如果你可以使用PowerShell這是很簡單的:
for /f %y in ('powershell get-date ^(get-date^).adddays^(-1^) -uformat %Y%m%d') do set today_minus_1=%y
首先讓你和 秒變量。
所以總結一下:設置你的日期變量,然後運行robocopy(在排除中使用它們)。當檢查它是否正常工作時,使用/L
選項是值得的,因爲實際副本將重新設置文件上的訪問時間戳!
所有變量和命令都是直接從cmd行執行的。如果在批量使用,您將需要添加一些%
(和可能是明智的使用SETLOCAL)
注:版本我用(XP010)不不允許使用負數或空間,在你的榜樣
來源
2012-07-10 16:44:41
wmz
不意思是SO。但爲什麼你不使用一些備份工具http://www.idrive.com/?uid=O2V7U0H4B4 – 2012-07-10 12:01:52
@GauravShah,爲什麼它不適合SO? @@ ValentQ,請張貼您的原始腳本,以便能夠使用。 – 2012-07-10 12:20:32
如果你看到未經編輯的問題,它沒有顯示任何代碼,所以我認爲他只是想自動備份...... – 2012-07-11 03:57:20