命令行循环遍历目录

时间:2013-06-11 18:21:39

标签: batch-file cmd command-line-interface

我正在尝试编写一个将在父目录上运行的批处理文件,并将遍历子目录从每个子目录中删除除最新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

1 个答案:

答案 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