1

我正在尝试编写一个批处理文件,该文件将在父目录上运行,并将遍历子目录,从每个子目录中删除除最新的 3 个文件之外的所有文件。我现在通过子目录递归,但只跳过它遇到的 3 个最新文件,而不是每个子目录中的三个最新文件。我想我需要代码中的另一个循环,但需要关于它应该在哪里和应该是什么的帮助。帮助!

到目前为止我所拥有的 - 现在只是 ECHO 输出作为测试。

@echo 关闭
推送“%~1”
for /f "skip=3 delims=" %%F in (
    'dir /s /ad /od /b') 做 ECHO del "%%F" /f
流行音乐

4

1 回答 1

1

你可以试试这个:

@echo 关闭
推送“%~1”
对于 /D %%i in (*) 做 (
   推送“%%~i”
   for /f "skip=3 delims=" %%F in (
       'dir /ad /od /b') 做 ECHO del /f "%%~F"
   流行音乐
   )
流行音乐
于 2013-06-11T19:41:04.897 回答