2012-03-01 21 views
1

我想刪除比特定的任意日期(該日期我希望在我的代碼中手動指定)的任何文件。Windows批處理:從字符串創建時間戳

我怎樣才能得到有關文件的時間戳和比較他們與我的任意日期?我知道我可以得到時間戳的東西,如:

for %%f in (./*) do echo %%~tf 

...我可以比較字符串或數字與gtrlss,但我不能時間戳很好的比較作爲字符串(因爲他們會按字母順序而不是按時間順序進行比較)。

回答

1

使用帶/ D選項的FORFILES。 (從命令提示符輸入FORFILES /?以獲取幫助)。

例如,下面將刪除當前目錄尚未自2011年3月1日,修改的所有文件:

forfiles /d -3/1/2011 /c "cmd /c if @isdir==FALSE del @file" 

,可以通過%%~tf返回的日期的工作,但它是一個皇家的痛苦;特別是如果您希望您的解決方案能夠在多臺機器上工作,可能會使用不同的日期格式設置