跳过FOR循环中的多个特定文件夹

时间:2016-10-15 13:53:23

标签: batch-file cmd

在一些帮助下,我最终设法找到一个FOR循环,在计算机中搜索与输入字符串同名的文件。现在我唯一的问题是我希望for循环跳过两个目录而不是一个目录。它甚至可能吗?

for %%a in (C D E F G H U W) do (
    for /f "tokens=*" %%b in ('dir /s /b "%%a:\%filename%" ^|findstr /v /i /L /c:"%cd%\directory i want to skip" ') do (
    ---
    ---
    ---
    )
)

我试过这种方式,但它似乎没有起作用:

for %%a in (C D E F G H U W) do (
    for /f "tokens=*" %%b in ('dir /s /b "%%a:\%filename%" ^|findstr /v /i /L /c:"%cd%\directory i want to skip" ^|findstr /v /i /L /c:"%cd%\ another directory i want to skip" ') do (
    ---
    ---
    ---
    )
)

2 个答案:

答案 0 :(得分:1)

是的,确实如此。您可以对c:"..."中的findstr子句加倍,或者您可以构建一个包含所有必需排除项的文件,并将此文件用作/g:filename,因为我建议您使用最后一个问题。

答案 1 :(得分:0)

如何在同一/c:"string"声明中使用findstr两次:

 for /f "tokens=*" %%b in ('dir /s /b "%%a:\%filename%" ^|findstr /v /i /L /c:"%cd%\directory /c:"%cd%\ another directory i want to skip" ') do (.....