15 ответов:
в пакетных файлах Windows / DOS:
pauseэто печатает хороший
"Press any key to continue . . . "или, если вы не хотите, чтобы
"Press any key to continue . . ."сообщение, вместо этого:pause >nul
зависит от точного вопроса!
нормально
pauseработает в .летучая мышь.Если вы хотите cmd.exe не закрывать, чтобы иметь возможность продолжать печатать, использовать в конце файла.
если вы хотите cmd.exe, чтобы не закрывать и продолжать печатать, используйте
cmd /kпросто почувствовал необходимость пояснить, что
/kделает (с сайта windows):
/k: выполняет команду, указанную строкой, и продолжает.так
cmd /kбез последующей команды в конце файла bat будет просто держатьcmd.exeокно открытым для дальнейшего использования.С другой стороны
pauseв конце пакетный файл просто приостановит процесс и завершитcmd.exeна первом нажатии кнопки
ниже способ наличия команд в пакетном файле откроет новые окна командной строки, и новые окна не будут выходить автоматически.
start "title" call abcd.exe param1 param2 start "title" call xyz.exe param1 param2
добавить
cmd.exeкак новая строка под кодом, который вы хотите выполнить:c:\Python27\python D:\code\simple_http_server.py cmd.exe
мой способ-написать фактическую партию (говоря " foo.bat"), чтобы закончить работу; затем создать еще один " старт.летучая мышь":
@echo off cmd /k foo.batЯ считаю, что это чрезвычайно полезно, когда я настраиваю одноразовые переменные среды.
кроме того
pause.set /p=можно использовать. он будет ожидать ввода пользователем и выпустит поток при нажатии enter.
или
runas /user:# "" >nul 2>&1который будет делать то же самое, за исключением того, что ничего из пользовательского ввода не будет отображаться и не останется в истории команд.
возможность 1: Просто сделать 2 .bat файлы и запись в первый:
start <filename> // name of 2nd batch file exitпакетный файл 2-это файл, который не будет закрываться в конце. Поэтому теперь, когда вы открываете пакет nr.1, он начнет 2-й и сам cloe. Когда 2-й заканчивается, он не закроется полностью (до тех пор, пока вы не поставите выход в конце)
возможность 2: Пакетного файла 1:
call <filename> cls echo End of file pause <any code you want>когда 2-й файл закончится, он снова перейдет к файлу 1 и выведет остальную его часть. С этим вы можете даже сделайте обработчики ошибок. Если NR. 1 падает, он переходит в nr. 2 и отображает его
этот маленький хак просит пользователя ввести ключ и сохраняет его в переменной %exitkey% (эта переменная может называться как угодно, хотя).
set /p exitkey= "Press any key to continue..."NB: пробел после ' = ' очень важен
если вы используете Maven и вы хотите, чтобы пропустить ввод и предотвратить консоль от близко, чтобы увидеть результат, который вы должны использовать
CALLкоманда в скрипте, кроме того, просто "mvn clean install".как это закроет консоль
ECHO This is the wrong exemple mvn clean install pauseвот так консоль будет
ECHO This is the right exemple CALL mvn clean install pauseесли вы не используете
CALLкоманда ни один из прошлых исключений не будет работать.
есть два способа сделать это в зависимости от варианта использования
1) Если вы хотите, чтобы Windows cmd prompt оставался открытым, чтобы вы могли видеть результат выполнения и закрыть его после этого; используйте
pause2) Если вы хотите, чтобы командная строка Windows cmd оставалась открытой и позволяла вам выполнять некоторые команды после слов; используйте
cmd
легко, добавьте cmd к вашей последней строке bat, но! если вы сбросите или очистите свой системный путь, вы должны начать свой cmd с полного пути, например:
%windir%\system32\cmd.exeнапример, у меня есть файл bat для сброса jdk в старую версию следующим образом:
PATH=C:\Program Files\Java\jdk1.6.0_45\bin;C:\apache-ant-1.7.1\bin SET JAVA_HOME=C:\Program Files\Java\jdk1.6.0_45 %windir%\system32\cmd.exeтак как я сбросил системный путь, я должен запустить cmd с полным путем, или система не может найти cmd.exe, он не сможет запустить cmd, и просто закройте окно, и вы не можете увидеть сообщение об ошибке.
Я знаю, что опоздал, но мой предпочтительный способ:
:programend pause>nul GOTO programendтаким образом, пользователь не может выйти с помощью enter.

Comments