Как я заставляю пакетный файл окон приостанавливаться, в то время как исполняемый файл работает?

Я бы не рекомендовал делать такие вещи. Во всяком случае, есть две проблемы. Прежде всего, чтобы пропустить новую строку, вам нужно \, а не /.

Во-вторых, ## не так. То, что он делает, соединяет var и int. Таким образом, с MY_MACRO(foo) вы получите intfoo;, но вы хотите int foo;

Макрос должен быть таким:

#define MY_MACRO(var)   \
int var 
7
задан Stephen 23 August 2011 в 01:42
поделиться

5 ответов

START /WAIT First.exe
START /WAIT Second.exe
14
ответ дан 6 December 2019 в 05:39
поделиться

Это зависит от того, как .exe работает. Я боюсь, что у меня нет всех технических деталей или терминологии, но некоторые .exe файлы возвратят управление сессии сразу после того, как они запустили, в то время как другие не возвратят управление, пока программа не завершилась.

Второй случай легок, поскольку команды поздно в файле не выполнятся, пока первый не завершился, таким образом, я предположу, что Вы сталкиваетесь со случаем № 1.

Легкое обходное решение/взлом, если выполнение занимает (приблизительно) то же количество времени каждый раз, оно работает, должен использовать команду ping с задержкой.

PING 127.0.0.1 -n 1 -w 120000 >NUL

Это вынудит команду ping работать однажды с 120 000 мс (2 минуты) задержка.

Существует также хорошая статья о более сложном (но более надежный метод) на fpschultze.de с намного более подробным объяснением. Короче говоря Вы запрашиваете список задач, ищущий исполняемый файл, которого Вы ожидаете. Как только это не там, Вы продолжаете с пакетным файлом. Это также использует метод ping, но другим способом.

7
ответ дан 6 December 2019 в 05:39
поделиться

Операторы в пакетном файле выполняются последовательно. Таким образом, если Ваш пакетный файл похож:

first.exe
next.exe

Затем выполняется, если сначала завершается.

6
ответ дан 6 December 2019 в 05:39
поделиться

Вы могли использовать команду "запуска" с параметром/, ожидают, использование запускается/? на командной строке для деталей.

4
ответ дан 6 December 2019 в 05:39
поделиться

Можно использовать

PAUSE

В пакетных сценариях, но я не понимаю Вашего вопроса.

0
ответ дан 6 December 2019 в 05:39
поделиться