Моя проблема в том, что в Windows есть окна командной строки, которые закрываются сразу после выполнения. Чтобы решить эту проблему, я хочу, чтобы по умолчанию было открыто окно. Обычно такого поведения можно избежать тремя способами, которые приходят мне в голову:
- Поставить
pause
строку после пакетных программ, чтобы предложить пользователю нажать клавишу перед выходом - Запуск этих командных файлов или других инструментов для работы с командной строкой (даже запуск службы, перезапуск и т. Д. С помощью
net start xy
чего-либо подобного) вcmd.exe
(Пуск - Выполнить - cmd.exe) - Запуск этих программ с помощью
cmd /k
этого:cmd /k myprogram.bat
Но есть и другие случаи, когда пользователь:
- Запускает программу в первый раз и не знает, что данная программа будет запускаться в командной строке (Windows Command Processor), например, при запуске ярлыка из меню «Пуск» (или из другого места), ИЛИ
- Несколько неудобно постоянно запускать cmd.exe, и у него нет времени / возможности везде переписывать код этих команд, чтобы ставить после них паузу или избегать явного выхода.
Я прочитал статью об изменении поведения по умолчанию cmd.exe
при его явном открытии с созданием записи автозапуска и манипулированием ее содержимым в следующих местах:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Элементы автозапуска _String values_
...)
Я положил cmd /d /k
в качестве значения, чтобы он попробовал, но это совсем не изменило поведение упомянутых выше вещей ... Он просто изменил поведение окна командной строки при его явном открытии (Start-Run- cmd.exe).
Итак, как это работает? Можете ли вы дать мне какие-либо идеи для решения этой проблемы?
stdout
на постоянной основе, которые никогда не были видны по уважительной причине.