Я пытаюсь открыть новое командное окно в BAT-файле:
start %windir%\system32\cmd.exe
После его открытия я хочу выполнить команду BAT в новом окне:
echo "test in new window"
Как я могу это сделать?
источник
Я пытаюсь открыть новое командное окно в BAT-файле:
start %windir%\system32\cmd.exe
После его открытия я хочу выполнить команду BAT в новом окне:
echo "test in new window"
Как я могу это сделать?
Возможно, вы уже нашли свой ответ, потому что это было некоторое время назад, вы спросили. Но я пытался сделать нечто подобное при кодировании ROR. Я хотел запустить «сервер rails» в новом окне cmd, чтобы мне не нужно было открывать новый cmd, а затем снова находить свой путь.
Я обнаружил, что нужно использовать переключатель K следующим образом:
start cmd /k echo Hello, World!
начать до того, как «cmd» откроет приложение в новом окне, а «/ K» выполнит «echo Hello, World!» после того, как новый cmd вверх.
Вы также можете использовать ключ / C для чего-то подобного.
start cmd /C pause
Затем он выполнит «паузу», но закроет окно, когда команда будет выполнена. В этом случае после нажатия кнопки. Я нашел это полезным для "сервера rails", тогда, когда я выключаю свой сервер разработки, мне не нужно закрывать окно после.
cmd
. Вы можете просто напечататьstart rails s
.Используйте следующее в вашем пакетном файле:
или
Обратитесь к документации cmd.exe, используя
cmd /?
для получения более подробной информации.Правильное форматирование командной строки становится немного сложнее с пробелами в аргументах. Смотрите примеры ниже. Обратите внимание на использование вложенных двойных кавычек в некоторых примерах.
Примеры:
Запустите программу и передайте параметр имени файла:
CMD /c write.exe c:\docs\sample.txt
Запустите программу и передайте длинное имя файла:
CMD /c write.exe "c:\sample documents\sample.txt"
Пробелы в пути к программе:
CMD /c ""c:\Program Files\Microsoft Office\Office\Winword.exe""
Пробелы в пути к программе + параметры:
CMD /c ""c:\Program Files\demo.cmd"" Parameter1 Param2
CMD /k ""c:\batch files\demo.cmd" "Parameter 1 with space" "Parameter2 with space""
Запустите demo1 и demo2:
CMD /c ""c:\Program Files\demo1.cmd" & "c:\Program Files\demo2.cmd""
Источник: http://ss64.com/nt/cmd.html
источник
Это не очень легко.
Наилучший подход состоит в том, чтобы часть вашего скрипта, которую вы хотите выполнить, находилась в «новом окне» в отдельном файле .bat. Это может быть непрактично, если, например, вам нужно много состояний из остальной части вашего скрипта (переменные и т. Д.). Один из вариантов - передать все необходимые значения (например, dir для работы) в командный файл:
Если у вас есть большой объем данных для передачи, вы можете рассмотреть возможность создания командного файла во время выполнения:
Очевидно, это тривиальный пример.
источник
Ответы выше помогли мне. Но все же потребовалось некоторое выяснение. Вот пример сценария, который я использую для запуска 3 процессов веб-разработки. Это приводит к тому, что 3 окна остаются открытыми, поскольку они должны работать непрерывно.
Mongo глобально добавлен в мой путь, поэтому мне не нужно использовать cd, как для двух других программ. Конечно, путь к вашим файлам будет отличаться, но, надеюсь, это поможет.
источник
Спасибо всем здесь, в переполнении стека; Это решение решает вышеуказанный вопрос, но расширяется для автоматического запуска следующих задач:
Я предполагаю, что мой проект называется "Antiquorum".
Создайте файл «init.bat» в вашем каталоге % USERPROFILE% (откройте окно cmd и посмотрите на путь слева от курсора, чтобы узнать, что такое% USERPROFILE%)
В новом окне командной строки введите: C:> init antiquorum
Код открывает еще два окна cmd и браузер. TIMEOUT позволяет избежать ошибок в браузере.
: Начало раздела делает работу. Вы можете запускать задачи 1, 2 или 4 по отдельности, введя params как: server , worker или none, чтобы оставить cmd открытым в корне проекта «antiquorum» .
Наслаждаться.
источник
Если я правильно понимаю, что вы делаете это в стороне, ваш bat-файл откроет командную строку и выведет ваше сообщение на экран.
надеюсь это поможет.
источник
запустить файл python в новом окне cmd с пробелами в имени файла:
источник
Добавление между двумя командами выполняет обе команды .
/k
in order
Пример:
эта команда сначала откроется,
command prompt
затем выполнитecho "hello"
командуисточник