Командний рядок, будучи запущеною, закриється тільки тоді, коли користувач натисне кнопку завершення роботи або виконає в ній команду exit . Але буває і таке, що після командний рядок закривається сама, не повідомляючи користувачеві про результати відпрацьованого сценарію і не повідомляючи про причини закриття. Як правило, з такою поведінкою консолі доводиться стикатися при виконанні скриптів — cmd або bat-файлів.
Це цілком нормально, але іноді потрібно, щоб після відпрацювання такого скрипта консоль не закривалася автоматично, а чекала введення наступної команди.
Ну що ж, спонукати її змінити свою поведінки дуже просто. Найпростіший спосіб-це додати в кінець командного файлу команду pause або спеціальний ключ, що запускає копію командного рядка.
Головне, щоб у вас були права на редагування цього самого скрипта.
pause або cmd / k .
Збережіть файл.
Це два різних способи і працюють вони по-різному.
Команда pause перериває виконання скрипта і виводить повідомлення » для продовження натисніть будь-яку клавішу… ” . Якщо команда додана в кінець скрипта, при натисканні будь-якої клавіші консоль буде закрита, якщо ж pause виявиться в середині коду, після натискання будь-якої клавіші продовжиться виконання скрипта (наступних команд).
Команда cmd / k працює трохи інакше.
Будучи додана в кінець сценарію, вона як-би перезапускає консоль, виводячи стандартне запрошення ввести нову команду.
Якщо ж додати cmd / k в середину коду, його виконання буде перервано і припинено.
У цьому основна різниця між цими командами.
Тонка настройка командного рядка
Якщо немає бажання возитися з кожним командним файлом, відредагуйте параметри роботи самої командного рядка.
Для цього відкриваємо командою regedit редактор реєстру і розгортаємо гілку:
У правій колонці міняємо значення параметра за замовчуванням з “%1” %* на cmd.exe /k “%1” %* .
Теж саме проробляємо з параметром за замовчуванням в гілці hkcrcmdfileshellopencommand , для командних файлів формату cmd.
Ось і все, відтепер командний рядок буде закриватися тільки за рішенням користувача, якщо тільки в сценарій не прописана команда exit.