Powershelldatei in Powershell mit Argumenten aufrufen?
Hallo, habe die Aufgabe, mit einer Powershelldatei eine andere Powershelldatei mit bestimmten Argumenten aufzurufen. Wie kann ich vorgehen?
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
PowerShell, Programmieren & Softwareentwicklung
Ich gehe jetzt nicht auf die einzelnen Aufrufstrategien ein. Im folgenden verwende ich einfach DotSourcing... Dabei verhält sich das aufgerufene Script wie eine intern deklarierte Funktion/Scriptblock. Der Call-Operator , IEX oder ein Aufruf via Start-Process sind bezüglich der Parameterübergabe ähnlich/ bzw. irrelevant.
MainScript.ps1
Write-Host Ich bin das Hauptscript, rufe Subscript
#einfache Übergabe, das aufgerufene Script soll zusehen wie es mit den Parametern zurecht kommt
. '.\subScript simple Args.ps1' 'blah' 'blub mauff' 0815 rugetigoooh "blut is im Schuh"
#übergabe mit im Zielscript festgelegten namendlichen Parametern
. '.\subScript NamedParams.ps1' 'blah' 3
. '.\subScript NamedParams.ps1' heinz keineZahl #verstösst bewusst gegen die Verinbarung, das der 2.Parameter ein Integer sein soll! Fehlermedug garantiert
. '.\subScript NamedParams.ps1' -Number 66 -Name franz
pause
subScript simple Args.ps1
Write-Host Ich bin das Subscript mit unbenannten argumenten -fo Magenta
Write-Host ...das erste Uebergebene Argument ist $args[0]
#alle argumente an eine Pipeline übergeben und nacheinander auswerten.
$args | %{$i=0}{
Write-Host `$args[$i] = $_
$i++
}
Write-Host Subscript ends... -fo green
subScript NamedParams.ps1
Param(
[string]$Name='Default Nix',
[int]$Number=0
)
Write-Host Ich bin das Subscript -fo Magenta
Write-Host $Name
Write-Host $Number
Write-Host Subscript ends... -fo green
Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren