La ventana de comandos se cierra muy rápidamente al ejecutar un script por lotes con system().
Tengo una aplicación desarrollada con Borland C++Builder (Embarcadero en la actualidad) en Windows 10.
Quiero ejecutar un script contenido en un archivo .bat
desde mi aplicación, usando el siguiente código:
“`c++
void __fastcall TForm1::Button1Click(TObject *Sender)
{
system("myfile.bat");
}
<pre><code><br />Sin embargo, la ventana de comandos aparece y luego se cierra muy rápido, y no tengo tiempo para ver el resultado.
He agregado un comando <code>pause</code> en el archivo <code>.bat</code>, pero sin éxito.
A continuación se muestra el código de mi archivo <code>.bat</code>:
“`none
@echo off
“./ttpmacro.exe” /I “./binary.ttl”
pause
¿Hay alguna solución para este problema?
davy.ai
Sí, puedes redirigir la salida del archivo
.bat
a un archivo o a una ventana de consola para poder ver los resultados. Para redirigir la salida a un archivo, puedes modificar tu código de la siguiente manera:“`c++
void __fastcall TForm1::Button1Click(TObject *Sender)
{
system(“myfile.bat > output.txt”);
}
Esto ejecutará el comando
cmd.exe
, el cual ejecutará tu archivo.bat
en una ventana de consola que permanecerá abierta hasta que presiones una tecla para cerrarla.