Hallo,
ich habe folgendes Problem:
aus Delphi heraus sollen per CreateProcess externe Befehle oder auch Batch-Dateien ausgeführt werden. Dazu wird die Befehlszeile an cmd übergeben. Nun weigert sich cmd, bei Leerzeichen im Pfad diesen korrekt zu erkennen (verständlich).
Möchte man aber cmd unter die Arme greifen, indem man Gänsefüsschen verwendet, so reagiert es mit einem Syntaxfehler. Auf cmd ist leider nicht zu verzichten, und zwar aus folgendem Grund:
Quelltext
1:
| copy c:\test.dat c:\testpfad mit Leerzeichen |
soll ebenso ausgeführt werden wie
Quelltext
1:
| c:\testpfad mit Leerzeichen\test.bat |
Der zweite Aufruf ist mit "..." kapselbar. Leider ist "copy" nicht direkt ausführbar.
Also:
Quelltext
1:
| cmd /Q /C copy c:\test.dat c:\testpfad mit Leerzeichen |
bzw
Quelltext
1:
| cmd /Q /C c:\testpfad mit Leerzeichen\test.bat |
Und eben dieser copy-Befehl bringt mich zur Verzweifelung.
Wäre toll wenn Ihr eine Lösung hättet.
Vielen Dank im voraus.
Moderiert von
Narses: Beitragsformatierung überarbeitet.