PS-Skript plus Parameter aus der TC-Kommandozeile starten

German support forum

Moderators: white, Hacker, Stefan2

Post Reply
RFriedr753
Junior Member
Junior Member
Posts: 15
Joined: 2009-09-07, 10:18 UTC

PS-Skript plus Parameter aus der TC-Kommandozeile starten

Post by *RFriedr753 »

Hallo,

wenn ich ein PowerShell-Skript aus der Eingabezeile unten im TC starte und Parameter übergebe, werden diese nicht an das Skript weitergegeben. Wieso ist das so, kann man das ändern?

Schonmal besten Dank.

Shalom
F. :-)
User avatar
Stefan2
Power Member
Power Member
Posts: 4132
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: PS-Skript starten

Post by *Stefan2 »

Bei mir funktioniert das. Kommt sicher auf das Was und Wie an....






 
User avatar
ghisler(Author)
Site Admin
Site Admin
Posts: 48021
Joined: 2003-02-04, 09:46 UTC
Location: Switzerland
Contact:

Re: PS-Skript starten

Post by *ghisler(Author) »

%1 usw. geht nicht bei Powershell-Skripten. Stattdessen verwenden Sie als erste Zeile param(parameternamen).
Beispiel:

Dateiname test.ps1

Code: Select all

param($p1, $p2, $p3, $p4)
echo $p1
echo $p2
echo $p3
echo $p4
pause
Aufruf:

Code: Select all

powershell -File test.ps1 abc def ghi jkl
Ausgabe:

Code: Select all

abc
def
ghi
jkl
Drücken Sie die Eingabetaste, um den Vorgang fortzusetzen...:
Author of Total Commander
https://www.ghisler.com
RFriedr753
Junior Member
Junior Member
Posts: 15
Joined: 2009-09-07, 10:18 UTC

Re: PS-Skript starten

Post by *RFriedr753 »

ghisler(Author) wrote: 2022-05-31, 08:02 UTC %1 usw. geht nicht bei Powershell-Skripten. Stattdessen verwenden Sie als erste Zeile param(parameternamen).
Beispiel:

Dateiname test.ps1

Code: Select all

param($p1, $p2, $p3, $p4)
echo $p1
echo $p2
echo $p3
echo $p4
pause
Aufruf:

Code: Select all

powershell -File test.ps1 abc def ghi jkl
Ausgabe:

Code: Select all

abc
def
ghi
jkl
Drücken Sie die Eingabetaste, um den Vorgang fortzusetzen...:
Wenn ich au der EIngabezeile unten im TC (weiss nicht wie man die nennt, es ist die EIngabezeile über den Hotkeys ganz unten) das Ganze ohne powershell -File eingebe, klappt es nicht. Und mir ist nicht klar wieso.

Schonmal besten Dank und frohe Pfingsten

cu
F. :-)
User avatar
Stefan2
Power Member
Power Member
Posts: 4132
Joined: 2007-09-13, 22:20 UTC
Location: Europa

Re: PS-Skript starten

Post by *Stefan2 »

RFriedr753 wrote: 2022-06-04, 11:23 UTC
Wenn ich au der EIngabezeile unten im TC (weiss nicht wie man die nennt, es ist die EIngabezeile über den Hotkeys ganz unten)
Während du im TC bist, drücke mal die F1-Taste und lies bei Bedienung > Benutzeroberfläche


RFriedr753 wrote: 2022-06-04, 11:23 UTC das Ganze ohne powershell -File eingebe, klappt es nicht. Und mir ist nicht klar wieso.
Beim TC ist der Standardinterpreter für ausführbaren Code die CMD.

Starte mal cmd.exe und gibt dort nur das ein: test.ps1 abc def ghi jkl
Geht das dort?
Meistens wird die PS1-Datei im Editor geöffnet.

Du must zuerst den gewünschten Interpreter angeben, und dann für diesen,
dass das was jetzt kommt als Datei zu behandeln ist, und nicht zB als direkten Befehl.

powershell -File test.ps1 abc def ghi jkl

Da die posh sowohl auf der Kommandozeile wie auch in einem Skript funktioniert,
muss man da manchmal genau 'sagen', was man gerade machen möchte.

Je nach Betriebssystem und Einstellungen (Firma, Privat) kann das auch anders sein.
Eventuell funktioniert auch einfach
powershell test.ps1 abc def ghi jkl

Zudem muss du den kompletten Pfad zur Skriptdatei angeben, zumindest relative als .\test.ps1
Aber das erledigt der TC für dich und nimmt den Pfad vom aktiven Panel als Pfad zum Skript.
Bei Dateinamen oder Pfade mit Leerzeichen muss der komplette Pfad in Anführungszeichen gesetzt werden:
powershell "test.ps1" abc def "ghi jkl zusammen"

In der cmd starte mal powershell /? und lies dir das durch...





 
Post Reply