使用批处理文件查看目录中的属性文件,然后调用命令

时间:2014-01-29 03:39:52

标签: batch-file cmd conditional-statements

我正在尝试钻取当前目录以查找.properties文件,如果找到,则此时运行另一个批处理文件。我正在尝试做类似的事情:

@echo off

FOR /D /r %%G in ("*.*") do (
 if there is a file ending with properties
     call other.bat
 )

但我一直无法找到解决方案,我很感激帮助。

1 个答案:

答案 0 :(得分:2)

你的循环正在对目录(/D)进行通配符扩展并递归(/r)。

您需要删除/D标志,以便通配符扩展位于文件名上,但仍会递归。这可能就是你要找的东西:

for /r %%G in (*.properties) do echo %%G

更复杂的方法是递归目录并使用内部循环在每个目录上进行文件名扩展。这可以让你在检查特定目录时解决其他问题:

for /D /r %%G in (*.*) do (
    for %%F in (%%G\*.properties) do (
        echo %%F
    )
)