¿Cómo puedo forzar que un mensaje de error de solicitud cmd.exe no se cierre?

3

Un .exe que se ejecuta a través de cmd.exe se ejecuta y luego desaparece rápidamente antes de que pueda leer el mensaje de error. ¿Cómo puedo hacer que la ventana cmd.exe y el mensaje de error no se cierren? ¿O hay alguna forma de registrar esa información de error que acaba de parpadear? Gracias.

usuario1330287
fuente

Respuestas:

5

Iniciar un programa que inicie la consola cerrará la ventana, porque CMD ya no es necesario.

Si presiona starty escribe cmdy presiona Intro, iniciará un símbolo del sistema.

Presione el driveletter del programa si este no está en C :, seguido de a: y presione enter.

En los ejemplos a continuación, la _ al final representa su cursor.

Ejemplo:

C:\Users\User>D:_

D:\>_

ahora, use el comando cdpara navegar al directorio del programa. Puede presionar tabpara autocompletar nombres. También tabharía Herramientas si esa carpeta existe.

Ejemplo:

D:\>cd Tools_

D:\Tools>cd "My Program"_   <- type 'My' and press tab to Autocomplete to "My Program"

D:\Tools\My Program>_

Ahora ingrese el nombre del programa que desea ejecutar.

Ejemplo:

D:\Tools\My Program>program_
Hello, I am the error message you want to see.

D:\Tools\My Program>_
LPChip
fuente
3
se puede utilizar el modificador / D para cambiar las letras de unidad con el CD para cd /D C:\Toolssiempre irá al directorio no importa dónde usted está actualmente
Ratchet monstruo
Soy consciente, pero quería mantener la publicación lo más simple posible.
LPChip
1
Manera más fácil: abra el explorador, navegue al directorio y llame a "cmd" desde la barra de direcciones.
Lyrkan
3
@LPChip Es una característica predeterminada de Windows 7/8 que funciona sin ningún software adicional. Si ya abrió la ruta correcta en la terminal, hay una forma aún más conveniente: Shift + Click derecho -> Abrir ventana de comando aquí
kapex
1
O incluso más fácil, abra el símbolo del sistema y arrastre y suelte el programa en él: Windows insertará la ruta completa al ejecutable en el símbolo del sistema. Luego solo presiona enter.
Moshe
3

Puede usar el archivo .bat para ejecutar ese exe.

Además, puede usar el siguiente comando en cmd para registrar el error / salida de ese archivo exe en un archivo de texto:

myFile.exe >> "C: \ logFile.txt"

Doble mayor que el símbolo se agrega al archivo existente ">>", sin embargo, un solo símbolo sobrescribe el archivo existente ">".

Espero que esto te ayude a registrar el error.

Saurabh Mehndiratta
fuente
44
En realidad, muchos programas imprimen en stderr. >>solo registrará stdout. Debe agregar un 2>&1, por ejemplocommand 2>&1 >>log.txt
Bob
3

Normalmente, cuando tengo que hacer esto, creo un archivo bat en la misma carpeta (para que el nuevo archivo de texto cambie el nombre a whatever.bat) abierto en la carpeta de texto y luego escriba:

ProgramName.exe
Pause

¡Cierre y guarde, luego ejecute el archivo bat y debería mantenerlo abierto!

CharlesH
fuente
3
¿Puedes agregar algunas instrucciones sobre cómo hacer esto? Un usuario promedio que sabe cómo hacer un archivo .bat también sabría cómo hacer una pausa al final.
LPChip
0

Debe ejecutarlo en una instancia ya existente de cmd.exe. Puede mantener presionada la tecla Mayús y hacer clic derecho en un directorio y luego hacer clic en "Abrir ventana de comandos aquí". Luego, escriba el nombre de un exe o haga clic y arrástrelo a la ventana de comandos, luego presione Intro.

Duncan X Simpson
fuente
0

De acuerdo a esto:

|| [...] comando1 || command2 Se usa para ejecutar el comando siguiente || solo si el comando precede a || falla Cmd.exe ejecuta el primer comando y luego ejecuta el segundo comando solo si el primer comando no se completó correctamente (recibe un código de error mayor que cero).

y si está haciendo ese .exe, solo necesita poner el pausecomando después de sus oraciones.

Y ejemplo en c ++ que llama a bash:

#include <iostream>
#include <windows.h>


using namespace std;

int main()
{
    system("cd  akfhaskfn|| pause");
    system("cd  || pause");

    return 0;
}

Verá que solo el primero llamará al comando de pausa.

jope
fuente
¡Bienvenido a Super User! Si bien esto puede responder la pregunta, sería una mejor respuesta si pudiera proporcionar alguna explicación de por qué lo hace.
DavidPostill
0

solo una versión simple de la respuesta LPChip (funciona en Windows 7) Presione inicio y escriba cmdy presione enter, iniciará un símbolo del sistema. Simplemente arrastre y suelte lo que necesita para ejecutar (su script de Python o .exe) en las ventanas de cmd, y presione enter. (Si necesita ejecutar el cmd como administrador, busque el cmd en el menú de inicio, haga clic derecho sobre él, elija run as admin)

Guillaume
fuente
0

Intenta insertar tihs

taskkill -im cmd.exe
Domestosi
fuente