C ++ llama a comandos por lotes o archivos .bat (.cmd) o archivos .exe

Visión general

La función system () en el archivo de encabezado stdlib.h (cstdlib) se puede usar para llamar comandos por lotes, ejecutar archivos por lotes y ejecutar programas ejecutables . Su prototipo de función es int system(char *command):;

Demostración del programa

Archivo Test.cpp

#include <iostream>
#include <cstdlib>

int main()
{
    
    
	system("ECHO HELLO WORLD WITH COMMAND"); // line 1
	system("HelloWorld.cmd"); // line 2
	system("HelloWorld.exe"); // line 3

	return 0;
}

Los resultados de la operación son:

HELLO WORLD WITH COMMAND
HELLO WORLD IN CMD
HELLO WORLD IN EXE

descripción

Línea1 ejecuta el comando por lotes;
línea2 ejecuta el archivo por lotes.
Line3 ejecuta el archivo exe.

注意:此时HelloWorld.exe与HelloWorld.exe必须位于Test.cpp同目录下。

Comandos de procesamiento por lotes

Cuando use el system()comando de llamada por lotes, simplemente use el comando + parámetro directamente .

Dos archivos .bat (.cmd)

Cuando utilice system()un archivo por lotes, también debe prestar atención a la ruta del archivo por lotes. Si no desea agregar la ruta del archivo, asegúrese de colocarlo en system()el directorio donde se encuentra la llamada a la función . De lo contrario, se debe agregar la ruta del archivo, que solo puede ser una ruta absoluta, no una ruta relativa .

Además, la ruta del archivo debe prestar atención al formato; por ejemplo, para un archivo con una ruta
C:\Users\Administrator\Desktop\HelloWorld.exe,
el método de llamada debe ser:
system("C:\\Users\\Administrator\\Desktop\\HelloWorld.exe");el símbolo "\" debe escaparse, la diferencia entre barra diagonal / y barra invertida \
Si está escrito como
system("C:\Users\Administrator\Desktop\HelloWorld.exe");

Al editar, aparecerá un mensaje de la siguiente manera: se dará una advertencia
Inserte la descripción de la imagen aquí
al compilar :

1>C:\Users\Administrator\Desktop\Project1\Project1\main.cpp(10,9): warning C4129: “A”: 不可识别的字符转义序列
1>C:\Users\Administrator\Desktop\Project1\Project1\main.cpp(10,9): warning C4129: “D”: 不可识别的字符转义序列
1>C:\Users\Administrator\Desktop\Project1\Project1\main.cpp(10,9): warning C4129: “H”: 不可识别的字符转义序列

Se mostrará el siguiente mensaje durante la ejecución :

'C:UsersAdministratorDesktopHelloWorld.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。

Otro posible método de llamada es el siguiente ( "/" no necesita escaparse ):
system("C:/Users/Administrator/Desktop/HelloWorld.exe");

Archivo Three.exe

Las precauciones son las mismas que las del archivo .bat (.cmd).

Supongo que te gusta

Origin blog.csdn.net/xp178171640/article/details/113701042
Recomendado
Clasificación