2014-09-25 62 views
0

我希望再有「數據文件RC」,在「C:\筆記本電腦備份」帶日期的文件 結束拉鍊所以會出現:基於最早存檔日期的robocopy?

C:\Laptop Backups\ 
    Data Files RC 9_22_2014.zip 
    Data Files RC 9_23_2014.zip 
    Data Files RC 9_24_2014.zip 
    Data Files RC 9_25_2014.zip 

然後我想看看最早日期在基於創建日期的「C:\ Laptop Backups」目錄中, 不是添加到文件名的日期,並且刪除所有大於14天的壓縮文件。因此,在上面的 示例中,我想要獲取「Data Files RC 9_25_2014.zip」的創建日期,然後計數14天 並刪除所有14天以前的壓縮文件。

我想使用最早的文件日期,因爲如果我在度假或只是沒有注意 和系統失敗,那麼刪除將不會繼續刪除基於今天的日期文件。 如果我不抓住這個,那麼它最終會刪除所有備份。

所以,如果事情失敗,但刪除仍然是工作只會由14天回從 刪除故障點,2014年9月26日的複製選項不能正常工作後,也就是這麼一說,但 被刪除踢從2014年9月25日只有14天將被刪除,然後也在2014年9月27日它會 仍然只從14-25天14-25天刪除,而不是使用9-27-2014 。然後這將始終有14天值得從9-25-2014備份 回來。

也許這不是問題,但我有一個基於今天的日期刪除的例程,然後我有一個單獨的 備份軟件,我剛剛發現失敗,所以它發生在我的刪除批處理例程我放入Windows 調度程序最終會刪除所有備份。

那麼避免這種情況的最佳方法是什麼?robocopy可以設置爲查看最早的文件日期,然後根據該文件刪除舊文件 ,或者是否存在其他一些腳本或其組合?

回答

0

要將最新的14個.zip文件保留在一個文件夾中,可以使用以下命令:刪除echo以激活刪除命令。
它按日期排序ZIP文件,總是跳過最近的14個文件,並刪除剩下的文件。

確保顯示的文件夾已經存在。

@echo off 
cd /d "C:\Laptop Backups" 
for /f "skip=14 delims=" %%a in ('dir *.zip /b /o-d /a-d') do echo del "%%a" 
pause