Problem mit QProcess ->cmd.exe wird nicht ausgeführt
Verfasst: 11. Februar 2011 19:11
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:
Ich hoffe ihr könnt mir helfen und mir sagen wo das Problem liegt 
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);