我只是想知道:

我如何删除“log.txt的”如果今天最后一次修改是不是?

通过一个批处理文件。

我只是在这里谈论1 FILE!

有帮助吗?

解决方案

可以使用 forfiles

forfiles /D -1 /M log.txt /C "cmd /c del @file"

其他提示

PowerShell的必须更换的批次。

if ((dir log.txt).LastWriteTime -lt [datetime]::today) { del log.txt }

可惜你不能在一个强大的和通用的方式(*)做到这一点。

PowerShell中,Cygwin的,Unix的工具是非常好的解决方案,如果你能相信他们会在目标机器上安装。

我写了一个小工具程序,需要使用通配符和天数计的路径,并删除所有文件匹配比指定天数的路径。在我的环境,这是不是安装第三方包方便多了。

(*) 下面将针对您的具体情况(修改日期不是今天),只要在您的区域设置的短日期格式的工作包括世纪(即是10个字符)。不过,这并不概括为N天了,我不喜欢依靠计算机的区域设置了这样的事情:

for %%i in (log.txt) do SET FILETIME=%%~ti
IF NOT "%FILETIME:~0,10%" == "%DATE%" DEL /f log.txt

批量做一些简单很复杂。 如果您可以使用Cygwin,或安装的Unix工具,可考虑做这样的事情:

find log.txt -mtime +1 -exec rm {} \;

<强>更新结果 发现可能是有用你使用纯批次。您应该能够修改和调整,以满足您的需求。

有关什么它的价值,你可以使用任何的JScript或VBScript。自90年代中期这两个脚本语言的已安装在MS的平台

scroll top