Параллель / Многопоточность в CMD - PullRequest
1 голос
/ 03 июля 2010

Мне нужно запустить счетчик и таймер одновременно, но я не уверен, как этого добиться.

У меня есть пакетный файл, который подсчитывает количество разклавиша нажимается в простой петле, сделанной goto, после первого нажатия (нажатия клавиши) таймер срабатывает в течение 1 минуты;клавиша, нажатая в это время, должна быть сохранена в другой переменной.

Моя проблема в том, что я не знаю, как заставить цикл продолжать работать, пока идет отсчет таймера, потому что я попробовал два варианта без успеха:

Вызов (внутри того же самого окна CMD, лучшего для меня) таймера после нажатия клавиши запускает таймер, но ожидает его окончания. Запуск таймера в новом окне (выборЯ подумал на случай, если нет возможности запустить оба параллельно);и чтобы быть в курсе, что таймер завершился, я попытался переключить глобальную переменную до и после, но мне не удается удержать в главном окне последнее значение, установленное в окне приглашения (значение с таймером).

Надеюсь, я объяснил себя правильно, и кто-нибудь может мне помочь, спасибо, Дэн.

1 Ответ

4 голосов
/ 24 июля 2012

Вы можете запускать параллельные потоки в одном сеансе cmd.используйте команду start с параметром / B, она запустит ваш пакет в текущем окне cmd.

Start /B myBatch.bat param1 param2 ... 

вы можете продолжить работу, пока myBatch.bat работает в фоновом режиме (и выводится в текущее окно).

примечание ^ C не убьет его, только ^ Break.

Самый простой способ убедиться, что задача убита, это завершить myBatch.bat с помощью команды выхода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...