【发布时间】:2018-06-28 07:04:55
【问题描述】:
我有一个批处理文件,用于使用 for 循环扫描 Windows 7 机器上的 c:\ 文件夹(及其各自的子文件夹)。我在排除某些文件夹时遇到问题,例如用户、Windows、LocalAppData 等。
我需要扫描 C:\ 中的文件夹以查找特定命名文件夹(即“myFolder”),而不扫描上述文件夹,以增加检测 C: 文件夹中所需文件夹的时间。
代码:
@echo off
for /d /r "c:\" %%a in (*) do (
findstr /v "Users" "Windows"
)
【问题讨论】:
-
请出示您的代码并说明您到目前为止所做的尝试。
-
@Hexaholic 刚刚在上面添加了我的代码
-
如果您知道文件夹的位置,其名称不会偶然出现在您的代码中的任何位置,也许您可以告诉我们它可能在哪里,
\Program Files*也许?你的问题看起来有点混乱,因为LocalAppData已经在Users中,所以应该被FindStr排除在外,注意你的代码中明显的错字! -
我正在搜索的文件夹可以在 C 盘内的任何文件夹中,但不能在 Program Files 或 Users 中。即使错字已修复,它仍然不起作用。 @Compo
-
下定决心!你说
Users、Windows和LocalAppData,然后你的代码说Users和Windows,现在你说Users和Program Files。在标准的 Windows 安装结构中,系统目录除外($Recycle.Bin、Recovery和System Volume Information),通常有以下目录:PerfLogs、Program Files、Program Files (x86)、ProgramData、Users和Windows。您已经排除了这六个中的四个;你能更好地解释你的任务吗?
标签: batch-file directory subdirectory findstr