2 последовательных цикла не запускаются - PullRequest
2 голосов
/ 29 февраля 2012

Почему пакет не запускает этот второй цикл 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 64bit.

Это точный аргумент, который я использую:

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

Это все содержимое пакетного скрипта. В нем больше ничего нет.

Вот структура каталогов. Пакетный скрипт запускается из CWD.

  • Проекты
    • приложение
      • Mine
        • App1
        • App2
      • Их
        • App3
        • App4
    • Инструменты (CWD)

1 Ответ

3 голосов
/ 29 февраля 2012

Добавить оператор 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.
)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...