扫描文件夹的内容时排除某些子文件夹

时间:2018-06-28 07:04:55

标签: batch-file directory subdirectory findstr

我有一个批处理文件,正在使用for循环扫描Windows 7框上的c:\文件夹(及其相应的子文件夹)。我在排除某些文件夹(例如用户,Windows,LocalAppData等)时遇到问题。

我需要浏览C:\中的文件夹以找到特定的命名文件夹(即“ myFolder”),而无需扫描上述文件夹,以增加检测C:文件夹中所需文件夹的时间。

代码:

@echo off

for /d /r "c:\" %%a in (*) do (
    findstr /v "Users" "Windows"
)

1 个答案:

答案 0 :(得分:0)

使用dir command返回所有所需目录myFolder的路径,用findstr command过滤它们,然后用for /F loop捕获结果,如下所示:< / p>

for /F "delims=" %%D in ('dir /B /S /A:D "C:\myFolder" ^| findstr /I /V /C:"\\Users\\" /C:"\\Windows\\"') do echo/%%D

您当然可以指定更多排除项。


如果要将例外放在文本文件C:\exclude.txt中:

Users
Windows

像这样更改方法:

for /F "delims=" %%D in ('dir /B /S /A:D "C:\myFolder" ^| findstr /I /V /L /G:"C:\exclude.txt"') do echo/%%D