Meu problema é que, no Windows, há janelas da linha de comando que fecham imediatamente após a execução. Para resolver isso, quero que o comportamento padrão seja que a janela seja mantida aberta. Normalmente, esse comportamento pode ser evitado com três métodos que me vêm à mente:
- Colocar uma
pause
linha após programas em lote para solicitar ao usuário que pressione uma tecla antes de sair - Executando esses arquivos em lotes ou outras ferramentas de manipulação de linha de comando (até mesmo a inicialização, a reinicialização do serviço etc. com
net start xy
ou algo semelhante) emcmd.exe
(Iniciar - Executar - cmd.exe) - Executando estes programas com o
cmd /k
seguinte:cmd /k myprogram.bat
Mas existem outros casos em que o usuário:
- Executa o programa pela primeira vez e não sabe que o programa fornecido será executado no Prompt de Comando (Windows Command Processor), por exemplo, ao executar um atalho no menu Iniciar (ou em outro lugar), OU
- Acha um pouco desconfortável executar o cmd.exe o tempo todo e não tem tempo / oportunidade para reescrever o código desses comandos em todos os lugares para colocar uma pausa após eles ou evitar sair explicitamente.
Eu li um artigo sobre como alterar o comportamento padrão cmd.exe
ao abri-lo explicitamente, criando uma entrada de AutoRun e manipulando seu conteúdo nesses locais:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor\AutoRun
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Command Processor\AutoRun
(Os itens de AutoRun são _String values_
...)
Eu coloquei cmd /d /k
como um valor para tentar, mas isso não mudou o comportamento dos itens mencionados acima ... Ele apenas mudou o comportamento da janela da linha de comando ao abri-la explicitamente (Start-Run- cmd.exe).
Então, como isso funciona? Você pode me dar alguma idéia para resolver este problema?
stdout
constantemente, que nunca foram visíveis por um bom motivo.