在批处理文件中查找目录名称或文件夹名称

时间:2015-01-07 22:24:55

标签: batch-file cmd

所以我只想知道是否有办法可以获取目录或文件夹的名称。

例如,我在我的目录中有这些文件夹

test1_ew test2_ter test3_ew

所以我只想获得名字上带有“_ew”的文件夹。 所以基本上我想检查当前目录中的所有文件夹名称,如果名字上有_ew。

如果存在这样的文件夹,我想在文件夹中运行一个可执行文件。

提前谢谢你!

2 个答案:

答案 0 :(得分:0)

您可以使用带有/A:命令的属性开关DIR来指定您只想查找目录并使用通配符作为目录名称:

DIR C:\FOLDER\*_ew /B /A:D

您也可以将其发送到文本文件,例如在桌面上,如下所示:

DIR C:\FOLDER\*_ew /B /A:D > %USERPROFILE%\Desktop\TEST_OUTOUT.txt

请注意,如果使用的任何路径都有空格,则需要将它们用引号括起来。

答案 1 :(得分:0)

如果您要查找的文字不会更改,为什么不使用IF EXIST

以下是一个例子:

C:\Scripts>for /f %a in ('dir c:\scripts\*s* /b /A:D') do echo %a
C:\Scripts>echo sccm
sccm
C:\Scripts>echo Test
Test
C:\Scripts>echo updates
updates

- 编辑添加IF EXIST

C:\Scripts>for /f %a in ('dir c:\scripts\*s* /b /A:D') do if exist %a echo YES
C:\Scripts>if exist sccm echo YES
YES
C:\Scripts>if exist Test echo YES
YES
C:\Scripts>if exist updates echo YES
YES