连续2个for循环将无法运行

时间:2012-02-29 14:23:16

标签: batch-file

为什么批次没有运行第二个for循环?我究竟做错了什么?第一个循环运行正常,但第二个循环从未被击中。我甚至在第一个循环之后放了一个echo语句,它甚至都没有显示出来。

FOR /D %%X in (..\Apps\Mine\*) do if exist "%%X\AndroidManifest.xml" ("%1\android.bat" update project -p "%%X") else (
echo This is not an android project.
)

FOR /D %%Y in (..\Apps\Theirs\*) do if exist "%%Y\AndroidManifest.xml" ("%1\android.bat" update project -p "%%Y") else (
echo This is not an android project.
)

更多详情

当前工作目录中名称中也没有()或空格。

Windows7 64位。

这是我正在使用的确切参数:

> update_project.bat C:\Users\MyUserName\android-sdks\tools

这是批处理脚本的所有内容。其中没有别的东西。

这是目录结构。批处理脚本从CWD运行。

  • 项目
    • 应用程序
        • App1的
        • App2的
      • 他们的
        • App3的
        • APP4
    • 工具(CWD)

1 个答案:

答案 0 :(得分:3)

CALL前添加"%1\android.bat"语句。如果您不使用CALL,则不会从"%1\android.bat"返回控件。

像这样,

FOR /D %%X in (..\Apps\Mine\*) do if exist "%%X\AndroidManifest.xml" (CALL "%1\android.bat" update project -p "%%X") else (
echo This is not an android project.
)

FOR /D %%Y in (..\Apps\Theirs\*) do if exist "%%Y\AndroidManifest.xml" (CALL "%1\android.bat" update project -p "%%Y") else (
echo This is not an android project.
)