我现在正在使用批处理文件删除所有以.snp
结尾且超过180天的文件。下面的代码用于删除以根文件夹
.snp
结尾的所有文件
C:\ Program Files \ Snapshots
但我最近发现在Snapshots文件夹中有按日期组织的文件夹
“1-10-2014,12-20-2014,10-15-2014等。”
并且下面的代码行不能以递归方式搜索每个目录,因此不会删除。
我应该对此代码进行哪些更改,以便递归搜索根文件夹中的文件夹并删除超过180天的文件?
forfiles /M *.snp /P "C:\Program Files\Snapshots" /S /D -180 /C "cmd /c del /F /Q @path"
答案 0 :(得分:2)
没有/ D(日期)它适用于子文件夹
forfiles /M *.txt /P "C:\hlpme" /S /C "cmd /c del /f /q @path
但你显然希望日期在那里 然后在CMD
forfiles /D -180 /M *.txt /P "C:\hlpme" /S /C "cmd /c del /f /q @path
路径名前面的/ D选择超过180天前已更改的所有文件
答案 1 :(得分:1)
最高可靠性的最佳选择是将For命令的强度与FORFILES命令结合起来,以便每个人都能做到他们最擅长的事情。
<section id="portfolio">
<div class="container">
Content
</div>
</section>
在第二个FOR命令中,反引号(〜键)包含FORFILES命令,并使用控制台输出调用批处理子例程来删除指定的文件。
文件夹和文件名中的空格不会减慢这个野兽的速度,并且围绕Set命令的双引号[&#34;]将允许该进程处理包含括号或其他异国情调的文件夹和文件,但是允许的字符。