我正在尝试编写一个将在父目录上运行的批处理文件,并将遍历子目录从每个子目录中删除除最新3个文件之外的所有文件。我现在通过子目录进行处理,但只跳过它遇到的3个最新文件,而不是每个子目录中的三个最新文件。我想我需要在代码中使用另一个循环,但需要帮助它应该在哪里和它应该是什么。救命啊!
到目前为止我只是将输出作为测试进行调整。
@echo off pushd "%~1" for /f "skip=3 delims=" %%F in ( 'dir /s /a-d /o-d /b') do ECHO del "%%F" /f popd
答案 0 :(得分:1)
你可以试试这个:
@echo off pushd "%~1" for /D %%i in (*) do ( pushd "%%~i" for /f "skip=3 delims=" %%F in ( 'dir /a-d /o-d /b') do ECHO del /f "%%~F" popd ) popd