我只是想知道:
如果最后修改不是今天,我如何删除'log.txt'?
使用批处理文件。
我刚才在这里谈论1个文件!
答案 0 :(得分:2)
PowerShell必须替换批处理。
if ((dir log.txt).LastWriteTime -lt [datetime]::today) { del log.txt }
答案 1 :(得分:1)
不幸的是,你无法以强大而通用的方式(*)做到这一点。
如果你能确定它们将被安装在目标机器上,那么Powershell,Cygwin,Unix Tools是非常好的解决方案。我写了一个小实用程序,它使用带有通配符和天数的路径,并删除所有与指定天数之前的路径匹配的文件。在我的环境中,这比安装第三方软件包更方便。
(*) 只要您的区域设置中的短日期格式包含世纪(即长度为10个字符),以下内容适用于您的特定情况(修改日期不是今天)。但它没有概括N天,我不喜欢依赖计算机的区域设置来做这种事情:
for %%i in (log.txt) do SET FILETIME=%%~ti
IF NOT "%FILETIME:~0,10%" == "%DATE%" DEL /f log.txt
答案 2 :(得分:1)
您可以使用forfiles
:
forfiles /D -1 /M log.txt /C "cmd /c del @file"
答案 3 :(得分:0)
批量生成简单非常复杂的东西。 如果您可以使用Cygwin或安装Unix Tools,请考虑做以下事情:
find log.txt -mtime +1 -exec rm {} \;
<强>更新强>
使用纯批次找到可能useful的内容。您应该能够修改它并根据您的需要进行调整。
答案 4 :(得分:0)
为了它的价值,你可以使用jscript或vbscript。自90年代中期以来,这两种脚本语言都已安装在MS平台上