Выполняйте команду каждый раз, когда я нажимаю Enter, пока не нажму клавишу, чтобы выйти из Batch - PullRequest
0 голосов
/ 20 января 2019

Я не знаком с Batch и хочу сделать очень простую вещь, которую не могу найти в Интернете.

Я хочу сделать что-то вроде этого (псевдокод):

while(shift is not pressed)
    python file.py
    PAUSE

В основном я хочу запустить file.py, а затем PAUSE, чтобы я мог нажать Enter, и он будет выполнен снова. Когда я нажимаю Shift, он закрывает cmd.

До сих пор я делал это для симуляции цикла:

python file.py
PAUSE
python file.py
PAUSE
python file.py
PAUSE
(...)
python file.py
PAUSE

1 Ответ

0 голосов
/ 20 января 2019

Цикл тривиален. Но нет собственной пакетной команды или утилиты для определения, нажата ли клавиша Shift.

Вы можете легко использовать SET / P или CHOICE вместо PAUSE, чтобы запросить ввод, с которым вы можете выполнить действие.

@echo off
:loop
python file.py
choice /m Again
if not errorlevel 2 goto :loop

Приведенный выше код будет выдавать следующее приглашение после каждого выполнения (при условии английского):

Again [Y,N]?

Код будет зациклен, если нажата Y, и завершится, если нажата N.

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