![](/img/trans.png)
[英]Need a batch file that deletes all directories with an integer for a name (314244), and were modified at least 120 days ago
[英]Batch file that deletes all but the last 10 per file name
我有多个文件夹,其中多个文件具有相同的名称,然后带有一个时间戳。 例:
foo_2017.01.16.png
foo_2017.01.15.png
foo_2017.01.14.png
bar_2017.01.16.png
bar_2017.01.15.png
bar_2017.01.14.png
file_2017.01.16.png
file_2017.01.15.png
file_2017.01.14.png
我需要做的是创建一个批处理文件,该文件将仅解析_timestamp之前的名称,并保留每个文件名的最后10个。 我不是很精通批处理,在这里真的可以使用一些帮助。 每个文件的“修改日期”都是相同的,因此我不能只说保留最后10天,否则我可以处理。
编辑:
我有一个批处理文件,该文件删除了一个超过28天的特定文件夹中的文件,如下所示,我只是不知道如何修改该文件以专门遍历每个文件名,而不要按修改日期进行:
/c echo @FILE
forfiles -p "C:\workspace\SeleniumTestResults" -s -m *.* /D -28 /C "cmd /c del @path"
再说一遍,这绝对不是我的专长
@echo off
setlocal
REM create some files for testing:
break>foo_2017.01.16.png
break>foo_2017.01.15.png
break>foo_2017.01.14.png
break>bar_2017.01.16.png
break>bar_2017.01.15.png
break>bar_2017.01.14.png
break>file_2017.01.16.png
break>file_2017.01.15.png
break>file_2017.01.14.png
dir *.png
set keep=2
for /f "delims=_" %%a in ('dir /b *.png') do (
for /f "skip=%keep% delims=" %%b in ('dir /b /o-n "%%~a*.png"') do del "%%b"
)
dir *.png
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.