У вас є скрипт на CMD (командному рядку), який ви використовуєте для автоматизації деяких процесів, але ви стикаєтеся з дещо неприємною ситуацією: після виконання команди start /wait mainfile.bat 2>nul
, ви бачите повідомлення “More?” в кінці консолі. Це може бути досить обтяжливо, особливо коли ви хочете автоматизувати процеси без необхідності вручному втручанні.
Перш ніж ми зануримося у розв’язання цієї проблеми, давайте розберемося, що саме відбувається в вашому скрипті та чому ви бачите “More?” у вихідних даних.
У вашому скрипті ви використовуєте команду start /wait
, щоб запустити певний файл (mainfile.bat) і зачекати його завершення перед продовженням виконання наступних команд. Ключ /wait
вказує CMD чекати, поки вказана програма завершить свою роботу, перед тим як продовжити виконання скрипта.
Проте, у вашому випадку, після виконання команди start /wait mainfile.bat 2>nul
, ви бачите “More?” в кінці виводу консолі. Це може стати проблемою, особливо якщо ви хочете, щоб ваш скрипт працював без втручання користувача.
Причина цієї проблеми полягає у тому, що після виконання команди start /wait
, CMD очікує введення користувача, щоб продовжити виконання скрипта. Це може бути запит про натискання клавіші “Продовжити” або “Більше?”, яке ви бачите. Зазвичай це відбувається, коли у вас є певні команди, які очікують введення вручну в процесі виконання скрипта.
Тепер, коли ми з’ясували причину проблеми, давайте поглянемо на рішення. Існує кілька способів вирішення цієї проблеми:
/b
замість /k
у команді, яку ви використовуєте для запуску вашого скрипта через CMD. Це припинить CMD очікувати введення після виконання скрипта.Тепер давайте подивимося, як застосувати ці рішення до вашого скрипта:
1 |
curl --silent https://raw.githubusercontent.com/***/***/main/script.bat|cmd /q /b |
Це використовує ключ /b
для запуску скрипта через CMD, що припиняє очікування введення після виконання.
Застосовуючи ці рішення, ви можете уникнути з’явлення “More?” після виконання команди start /wait
у вашому скрипті CMD.
Наприклад, ви можете змінити свою команду запуску скрипта так:
1 |
curl --silent https://raw.githubusercontent.com/***/***/main/script.bat|cmd /q /b |
Тепер ваш скрипт буде виконуватися без очікування введення користувача після команди start /wait
, і ви більше не побачите “More?” у виводі консолі.