use*_*091 1 windows batch-file
我试图找到一个常规(powershell或不好)批处理脚本,它将只维护文件夹中最近的5个文件,而不管文件名.我在这里和那里发现了一些它似乎不起作用或不做我需要的东西.我非常感谢您提供的任何帮助.非常感谢你!
使用DIR命令列出按修改的时间戳排序的文件,降序.使用FOR/F处理结果,跳过前5个.
从命令行,使用以下命令删除当前目录中除最近修改的5个文件之外的所有文件:
for /f "skip=5 eol=: delims=" %F in ('dir /b /o-d /tw /a-d') do @del "%F"
Run Code Online (Sandbox Code Playgroud)
如果在批处理文件中使用,则百分比需要加倍.您可能还想指定要从中删除的文件夹.
@echo off
pushd "c:\yourFolder" && (
for /f "skip=5 eol=: delims=" %%F in ('dir /b /o-d /tw /a-d') do del "%%F"
)
Run Code Online (Sandbox Code Playgroud)
批处理文件不应驻留在要删除的文件夹中.如果它存在于同一文件夹中,则需要阻止批处理文件自行删除:
@echo off
pushd "c:\yourFolder" && (
for /f "skip=5 eol=: delims=" %%F in ('dir /b /o-d /tw /a-d') do if "%%~fF" neq "%~f0" del "%%F"
)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1633 次 |
| 最近记录: |