Powershell Escapen in der Kommandozeile
Aloa,
ich steh grad irgendwie auf dem Schlauch:
liefert mir "C:\Program Files (x86)\Common Files", soweit so gut.
Jetzt brauch ich aber den Pfad als Parameter inkl. dem Rest vom Pfad.
Tenor im Netz lautet: Umgebungsvariable auflösen und Pfad zusammenbauen, fertisch.
Egal wie ich das Klammer und mit welchen " oder ` oder ' er bringt "unerwartetes Token.
Auch wenn ich das gesammte nochmal mit ${ } geklammert habe mag das nicht.
Hat einer einen Tipp?
VG
ich steh grad irgendwie auf dem Schlauch:
Powershell ${env:CommonProgramFiles(x86)}
liefert mir "C:\Program Files (x86)\Common Files", soweit so gut.
Jetzt brauch ich aber den Pfad als Parameter inkl. dem Rest vom Pfad.
Tenor im Netz lautet: Umgebungsvariable auflösen und Pfad zusammenbauen, fertisch.
${env:CommonProgramFiles(x86)}\Ordner\Unteordner\Script.ps1
Egal wie ich das Klammer und mit welchen " oder ` oder ' er bringt "unerwartetes Token.
Auch wenn ich das gesammte nochmal mit ${ } geklammert habe mag das nicht.
Hat einer einen Tipp?
VG
Please also mark the comments that contributed to the solution of the article
Content-ID: 399274
Url: https://administrator.de/contentid/399274
Printed on: December 9, 2024 at 23:12 o'clock
7 Comments
Latest comment
Falsch!
Bei Leerzeichen im Pfad von der Batch aus musst du aufpassen
Ich zitiere noch mal aus meiner Anleitung:
Der einfachste Aufruf sieht hier so aus:
Wenn man dem Script Parameter übergeben möchte:
Wenn man "benannte" Parameter übergeben möchte (die einfachen Hochkommas um den Scriptpfad werden benötigt wenn er Leerzeichen beinhaltet):
Man kann auch mehrere Scripte hintereinander ausführen lassen:
Bei Leerzeichen im Pfad von der Batch aus musst du aufpassen
powershell -Command "&"${env:CommonProgramFiles(x86)}\enteo\Service\script.ps1""
Ich zitiere noch mal aus meiner Anleitung:
Starten von PS-Scripten aus Batch und Kommandozeilen heraus:
Hier gibt es unterschiedliche Methoden, je nach Anforderungen gibt es hier einige Besonderheiten vor allem bei Leerzeichen in Pfaden zu beachten!Der einfachste Aufruf sieht hier so aus:
powershell.exe -File "C:\Pfad\Script.ps1"
powershell.exe -File "C:\Pfad\Script.ps1" "Parameter 1" "Parameter 2"
powershell.exe -command "&'C:\Pfad\Script.ps1' -par1 'Wert1' -par2 'Wert2'"
powershell.exe -command "&'C:\Pfad\Script1.ps1';&'C:\Pfad\Script2.ps1'"
Wohl denn, Gefährte, mögen sie ziehen ohne Schmerz des hinteren Leibes .