Um .exe executado via cmd.exe é executado e desaparece rapidamente antes que eu possa ler a mensagem de erro. Como posso fazer com que a janela cmd.exe e a mensagem de erro não fechem? Ou existe alguma maneira de registrar as informações de erro que acabaram de aparecer? Obrigado.
Responder1
Iniciar um programa que inicia o console fechará a janela, porque o CMD não é mais necessário.
Se você pressionar start
e digitar cmd
e pressionar enter, você iniciará um prompt de comando.
Pressione a letra da unidade em que o programa está ativado, se não estiver em C:, seguido por: e pressione Enter.
Nos exemplos abaixo, o _ no final representa o seu cursor.
Exemplo:
C:\Users\User>D:_
D:\>_
agora, use o comando cd
para navegar até o diretório do programa. Você pode pressionar tabpara preencher automaticamente os nomes. Também tabcriaria Ferramentas se essa pasta existir.
Exemplo:
D:\>cd Tools_
D:\Tools>cd "My Program"_ <- type 'My' and press tab to Autocomplete to "My Program"
D:\Tools\My Program>_
Agora digite o nome do programa que deseja executar.
Exemplo:
D:\Tools\My Program>program_
Hello, I am the error message you want to see.
D:\Tools\My Program>_
Responder2
Normalmente, quando preciso fazer isso, crio um arquivo bat na mesma pasta (para que o novo arquivo de texto seja renomeado para qualquer coisa.bat), abro na pasta de texto e digito:
ProgramName.exe
Pause
Feche e salve, em seguida, execute o arquivo bat e ele deverá mantê-lo aberto!
Responder3
Você pode usar o arquivo .bat para executar esse exe.
Além disso, você pode usar o seguinte comando no cmd para registrar o erro/saída desse arquivo exe em um arquivo de texto:
meuArquivo.exe >> "C:\logFile.txt"
O dobro do símbolo é anexado ao arquivo existente " >> ", no entanto, o símbolo único substitui o arquivo existente ">".
Espero que isso ajude você a registrar o erro.
Responder4
De acordo com isso:
|| [...] comando1 || command2 Use para executar o comando seguinte || somente se o comando anterior || falha. Cmd.exe executa o primeiro comando e, em seguida, executa o segundo comando somente se o primeiro comando não for concluído com êxito (recebe um código de erro maior que zero).
e se você estiver fazendo esse .exe, basta colocar pause
o comando após suas frases.
E exemplo em c++ que chama o bash:
#include <iostream>
#include <windows.h>
using namespace std;
int main()
{
system("cd akfhaskfn|| pause");
system("cd || pause");
return 0;
}
Você verá que apenas o primeiro chamará o comando de pausa.