Ответ 1
В зависимости от того, как вы выполняете команду, вы можете поместить /k
после cmd
, чтобы открыть окно.
cmd /k my_script.bat
У меня есть файл bat, как это:
ipconfig
Это напечатает ip-информацию на экране, но прежде чем пользователь сможет прочитать эту информацию, CMD закрывает ее самостоятельно.
Я считаю, что CMD предполагает, что script закончен, поэтому он закрывается.
Как сохранить CMD открытым после завершения script? Спасибо!
В зависимости от того, как вы выполняете команду, вы можете поместить /k
после cmd
, чтобы открыть окно.
cmd /k my_script.bat
Поместите pause
в конец вашего .BAT файла.
просто добавьте @pause
в конец
Пример:
@echo off
ipconfig
@pause
или u также может использовать:
cmd /k ipconfig
Просто чтобы прояснить то, что меня немного разобрало, прочитав эти ответы...
Вам нужно ввести (буквально) "cmd/k", за которым следует ваша команда. Сначала я подумал, что "cmd" нужно заменить командой . Не так!
Например, я пытался запустить java-команду...
cmd /k java myPackage.myClass
Он закрыл окно, чтобы я мог видеть мои сообщения "System.out.println()".
Я надеюсь, что это разъяснение спасет кого-то примерно 3,5 минуты, когда мне потребовалось выяснить это.
Добавление pause
в (Windows 7) до конца не сработало для меня
но добавление cmd /k
перед моей командой действительно сработало.
Пример:
cmd /k gradlew cleanEclipse
start cmd /k
сделал магию для меня. Я фактически использовал его для подготовки приложения phone phone phone, который запускает команду, показывает результат и ждет, когда пользователь закроет его. Ниже приведен простой пример
start cmd /k echo Hello, World!
Что я использовал в своем случае
start cmd /k cordova prepare
Обновление
У вас может даже заголовок для этого, используя
start "My Title" echo Hello, World!
Если вы запустите script в командной строке, добавьте exit /b
, чтобы открыть CMD
javac -d C:\xxx\lib\ -classpath C:\xxx\lib\ *.java
cmd cd C:\xxx\yourbat.bat
вторая команда заставит ваше окно cmd не закрываться. Важно то, что вы все еще можете ввести новую команду
В Windows добавьте "& Pause" в конце вашей команды в файле.
Я также был озадачен тем, почему мы добавляем cmd
в начале, и мне было интересно, нужно ли мне сначала открывать командную строку. Что вам нужно сделать, это ввести полную команду вместе с cmd/k
. Например, предположим, что имя вашего пакетного файла - "my_command.bat", который запускает команду javac my_code.java
тогда код в вашем пакетном файле должен быть:
cmd /k javac my_code.java
Таким образом, в общем случае нет необходимости открывать командную строку в текущей папке и вводить указанную выше команду, но вы можете сохранить этот код непосредственно в своем пакетном файле и выполнить его напрямую.