批处理文件,删除文件今天最后修改不
-
05-09-2019 - |
题
我只是想知道:
我如何删除“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的平台
不隶属于 StackOverflow