Windows批处理:从字符串创建时间戳

时间:2012-03-01 19:20:55

标签: batch-file timestamp

我想删除任何早于某个任意日期(我希望在我的代码中手动指定的日期)的文件。

如何获取相关文件的时间戳,并将它们与我的任意日期进行比较?我知道我可以通过以下方式获取时间戳:

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

...我可以将字符串或数字与gtrlss进行比较,但我不能将时间戳作为字符串进行比较(因为它们会按字母顺序而不是按时间顺序进行比较)

1 个答案:

答案 0 :(得分:1)

使用带有/ D选项的FORFILES。 (从命令提示符处键入FORFILES /?以获取帮助)。

例如,以下内容将删除当前目录中自2011年3月1日以来尚未修改的所有文件:

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

可以使用%%~tf返回的日期,但这是一个皇家的痛苦;特别是如果您希望您的解决方案在多台计算机上运行,​​可能使用不同的日期格式设置。