Problem mit QProcess ->cmd.exe wird nicht ausgeführt

Alles rund um die Programmierung mit Qt
Antworten
Luna1987
Beiträge: 11
Registriert: 2. September 2009 14:34
Wohnort: Kassel

Problem mit QProcess ->cmd.exe wird nicht ausgeführt

Beitrag von Luna1987 »

Hallo @ all.
Ich möchte gerne in meinem Qt-Programm über den Kommandozeileninterpreter (Betriebssystem Windows 7 -> cmd.exe) 7zip ausführen, d.h. ich will Archiv.zip entpacken und die entpackten Dateien in einen Ordner names "Test" speichern.
Wenn ich das direkt über den Kommandozeileninterpreter mache, dann starte ich diesen und gebe folgende Zeile ein:
"C:/Program Files/7-Zip/7z.exe" x -y C:/Users/Anne/Desktop/Archiv.zip -oC:/Users/Anne/Desktop/Test"
Das funktioniert auch problemlos, d.h. es wird ein Ordner namens "Test" erzeugt, in welchen sich dann die Dateien aus dem zip-Ordner befinden. Wenn ich das ganze in meinem Qt-Programm machen will geht es leider nicht. Ich glaube er führt das cmd.exe gar nicht erst aus (habe nämlich auch einige andere Argumente für cmd.exe übergeben, die haben auch nicht funktioniert.
Hier mein Qt-Code:

Code: Alles auswählen

QStringList arguments = QStringList();
arguments << "\"C:/Program Files/7-Zip/7z.exe\" x -y C:/Users/Anne/Desktop/Archiv.zip -oC:/Users/Anne/Desktop/Test";

QProcess *zipProcess = new QProcess();
zipProcess->start("cmd.exe",arguments);
Ich hoffe ihr könnt mir helfen und mir sagen wo das Problem liegt :-)
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

cmd.exe /? hilft ...
Warum aber überhaupt cmd.exe hier benötigt wird weiss ich nicht.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Luna1987
Beiträge: 11
Registriert: 2. September 2009 14:34
Wohnort: Kassel

Beitrag von Luna1987 »

Hallo Christian81!

Danke für deine schnelle Antwort. Nun habe ich "cmd.exe" weggelassen und nur das Argument als QString übergeben - und siehe da es geht :-)

Danke!
Antworten