Como posso forçar uma mensagem de erro de prompt do cmd.exe a não fechar?

Como posso forçar uma mensagem de erro de prompt do cmd.exe a não fechar?

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 starte digitar cmde 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 cdpara 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 pauseo 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.

informação relacionada