Eu tenho um arquivo bat como este:
ipconfig
Isso imprimirá as informações de IP na tela, mas antes que o usuário possa ler essas informações, o CMD se fechará.
Acredito que o CMD assume que o script foi finalizado e, portanto, é fechado.
Como mantenho o CMD aberto após a conclusão do script?
batch-file
cmd
pattyd
fonte
fonte
pause
que é uma boa solução alternativa (e foi por isso que votei nessa resposta), mas não uma que realmente resolva o problema porque depois que o usuário bateEnter
ouSpace
a janela se fecha. ..Respostas:
Dependendo de como você está executando o comando, você pode colocar
/k
depoiscmd
para manter a janela aberta.Simplesmente adicionar
cmd /k
no final do seu arquivo em lotes também funcionará. Os nossos agradecimentos a Luigi D'Amico, que postou sobre isso nos comentários abaixo.fonte
cmd /k
no final.Coloque
pause
no final do seu arquivo .BAT.fonte
Basta adicionar
@pause
no final.Exemplo:
Ou você também pode usar:
fonte
@pause
epause
pode ser vista visualmente nesta resposta: stackoverflow.com/questions/17957076#60053224Adicionar
pause
(Windows 7) ao final não funcionou para mim,mas adicionar o
cmd /k
comando na frente do meu comando funcionou.Exemplo:
fonte
Quando o arquivo .bat é iniciado, não a partir da linha de comando (por exemplo, clique duas vezes).
fonte
start cmd /k
fez a mágica para mim. Na verdade, eu o usei para preparar o aplicativo cordova phonegap, ele executa o comando, mostra o resultado e aguarda o usuário fechá-lo. Abaixo está o exemplo simplesO que eu usei no meu caso
Atualizar
Você pode até ter um título para isso usando
start "My Title" echo Hello, World!
fonte
Se você estiver iniciando o script na linha de comando, adicione
exit /b
para manter o CMD abertofonte
ipconfig
e outros arquivos em lotes internos é uma péssima idéia .No Windows, adicione '& Pause' ao final do seu comando no arquivo.
fonte
Eu também estava confuso sobre o motivo pelo qual estamos adicionando um
cmd
no início e estava pensando se teria que abrir o prompt de comando primeiro. O que você precisa fazer é digitar o comando completo junto comcmd /k
. Por exemplo, suponha que o nome do seu arquivo em lote seja "my_command.bat", que executa o comando,javac my_code.java
e o código no arquivo em lote deve ser:Portanto, basicamente, não há necessidade de abrir o prompt de comando na pasta atual e digite o comando acima, mas você pode salvar esse código diretamente no seu arquivo em lotes e executá-lo diretamente.
fonte
o segundo comando faz com que a janela do cmd não seja fechada. O importante é que você ainda possa inserir um novo comando
fonte
Como nota lateral, isso também funciona ao executar um comando diretamente da barra de pesquisa no Windows.
por exemplo, a execução
ipconfig
direta fechará diretamente a janela do cmd após a saída do comando.Usar o
cmd \k <command>
will - que era o que eu estava tentando fazer quando encontrei esta resposta.Ele tem a vantagem adicional de sempre reconhecer o comando que você está tentando executar. Por exemplo, correr a
echo hello world
partir da barra de pesquisa não funcionará porque não é um comando, no entanto,cmd \k echo hello world
funciona muito bem.fonte