2016-07-10 1 views
0

Ich habe eine Batch-Datei wie folgt aus:Passing C++ Variable Batch

set arg1=%1 
do_something %arg1% 

Es funktioniert völlig in Ordnung, wenn sie von cmd genannt, aber wenn ich versuche, es es über C++ System aufrufen nicht ausführen Arbeit.

Wenn ich versuche, so etwas wie

string a = "aaaaa.bat 123"; 
system(a.c_str()); 

wird es die Fledermaus-Datei aufrufen, aber es wird nicht 123 Argument aus irgendeinem Grund erhalten.

+0

JFYI - [Warum System() ist böse] (http://www.cplusplus.com/forum/articles/11153/) (und was stattdessen zu verwenden) – mvidelgauz

Antwort

1

Führen Sie Ihre Batch-Datei aus einer Befehlsshell wie: system("CMD.exe /C aaaaa.bat 123").