Пакетные файлы: как оставить окно консоли открытым
у меня есть два пакетных файла, один из них выполняет еще одну, т. е.
- "Мой Пакетный Файл" > 2. "Какой-То Другой Пакетный Файл"
Я создал ярлык первого пакетного файла и отредактировал его свойства, чтобы вызвать его следующим образом.
cmd.exe /k "<SomePath><My Batch File>.bat" & pause
что я хочу сделать
Я хочу, чтобы окно консоли было открыто после завершения выполнения пакетного файла. Теперь он просто закрывается, пытался играть вокруг флагов cmd, нет результат.
Платформа: Windows7
обновление 1
изменена структура, простой пример, как это не работает также,
Только один пакетный файл, т. е. нет 2. "Какой-То Другой Пакетный Файл"
Единственный пакетный файл содержит что-то вроде этого
start /B /LOW /WAIT make package
cmd /K
обновление 2
тот же ярлык, который вызывается из проводника, не закрывает окно консоли.
но консоль окно закрывается, когда ярлык вызывается из закрепленного элемента на панели задач
есть идеи, как сохранить окно консоли открытым?
8 ответов:
если это действительно все, что делает пакетный файл, удалите
cmd /Kи добавитьPAUSE.start /B /LOW /WAIT make package PAUSEзатем просто укажите свой ярлык на
"My Batch File.bat"...нет необходимости запускать его сCMD /K.обновление
Ах, какая-то новая информация...ты пытаешься сделать это из закрепленного ярлыка на панели задач.
я нашел вот это добавление пакетных файлов на панель задач Windows 7, таких как Vista/XP Quick Launch, С соответствующей части под.
- во-первых, закрепите ярлык для
CMD.EXEна панель задач, нажав кнопку Пуск, затем введите " cmd "в поле поиска, щелкните правой кнопкой мыши результат и выберите"Pin to Taskbar".- щелкните правой кнопкой мыши ярлык на панели задач.
- вы увидите список, который включает в себя "Командная Строка" и "открепить эту программу от панели задач".
- щелкните правой кнопкой мыши значок
CMD.EXEи выберитеProperties.- в поле для цели, идти до конца
"%SystemRoot%\system32\cmd.exe"и типа" /C "и путь и имя пакетного файла.для ваших целей, вы можете либо:
использовать
/Cи поставитьPAUSEв конце пакетного файла.или
- измените командную строку, чтобы использовать
/Kи удалитьPAUSEиз вашего пакетного файла.
здесь:
cmd.exe /k "<SomePath>\<My Batch File>.bat" & pauseпосмотрите, что вы делаете:
- (cmd /K) Start новая экземпляр cmd.
- (& pause) Pause текущего экземпляр cmd.
как его решить? ну, используя правильный синтаксис, заключая аргумент для нового экземпляра CMD:
cmd.exe /k ""<SomePath>\<My Batch File>.bat" & pause"
Я только что написал последнюю строку как пауза Он отлично работал с обоими .летучая мышь и. УМК. Он будет отображать сообщение также как "нажмите любую клавишу, чтобы продолжить".
для того, чтобы оставить окно консоли открытым, вам нужно только добавить в последнюю командную строку в пакетном файле:
' & pause'
вы можете просто поставить
pauseкоманда в последней строке вашего пакетного файла:@echo off echo Hey, I'm just doing some work for you. pauseдаст вам что-то вроде этого в качестве вывода:
Comments