Autor Beitrag
daywalker0086
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Do 01.07.21 11:49 
Hallo Leute,
sicher nur ein Klacks für einige. Ich steh auf dem Schlauch.
Ich habe eine Batch Datei, möchte die Befehle aber direkt aus Delphi ausführen damit ich die Batch Datei nicht mit ablegen muss.
Dies sollte ja einfach mit
ausblenden Delphi-Quelltext
1:
CreateProcess(nil, PChar('cmd.exe /c'+commandline) ...					

gehen.
Aber irgendwie weis ich nicht wie ich die Parameter genau in den Commandline String übergeben muss.
In der Batch steht folgendes drin:
ausblenden Quelltext
1:
2:
3:
cd %cd%/Testprogramme
git fetch --all
git reset --hard origin/master


Aber dieser String funktioniert nicht:
ausblenden Delphi-Quelltext
1:
('"cd %cd%\Testprogramme \n git fetch --all \n git reset --hard origin/master"');					


Wie muss der denn formatiert sein damit die Zeichen genau so übergeben werden?

Grüße Christian
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 01.07.21 12:42 
Die Newline-Zeichen sind hier falsch. Dafür gibt es die Sonderzeichen &&, & sowie ||, s. 2 Ways To Run Multiple Commands In CMD (etwas runterscrollen zu "Run Multiple Commands Through &, &&, and || sign").
daywalker0086 Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243


Delphi 2005 Architect
BeitragVerfasst: Do 01.07.21 13:23 
Danke für die Antwort aber schon alleine das
ausblenden Quelltext
1:
cd %cd%/Testprogramme					

wird anscheinend nicht richtig übermittelt. das kommt "das System kann den angegebenen Pfad nicht finden"

das mit dem %cd% ist wohl noch nicht richtig.

Moderiert von user profile iconTh69: Code-Tags hinzugefügt
Th69
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Moderator
Beiträge: 4764
Erhaltene Danke: 1052

Win10
C#, C++ (VS 2017/19/22)
BeitragVerfasst: Do 01.07.21 14:33 
Hatte mir schon gedacht, daß diese Frage als nächstes kommt.
Bei einer Batch-Datei werden die Environment-Variablen automatisch ersetzt. Vom Programm aus mußt du das selber machen: GetEnvironmentVariable