597 Stimmen

Wie kann ich ein Argument an ein PowerShell-Skript übergeben?

Es gibt ein PowerShell-Skript mit dem Namen itunesForward.ps1, das iTunes um 30 Sekunden vorspulen lässt:

$iTunes = New-Object -ComObject iTunes.Application

if ($iTunes.playerstate -eq 1)
{
  $iTunes.PlayerPosition = $iTunes.PlayerPosition + 30
}

Es wird mit einer Eingabeaufforderung ausgeführt:

powershell.exe itunesForward.ps1

Ist es möglich, ein Argument von der Befehlszeile zu übergeben und es im Skript anstelle des fest codierten Werts von 30 Sekunden anzuwenden?

6voto

JDennis Punkte 662

Erstellen Sie ein PowerShell-Skript mit dem folgenden Code in der Datei.

param([string]$path)
Get-ChildItem $path | Where-Object {$_.LinkType -eq 'SymbolicLink'} | select name, target

Dieses Skript erstellt einen Pfadparameter. Es listet alle symbolischen Links innerhalb des bereitgestellten Pfads sowie das angegebene Ziel des symbolischen Links auf.

4voto

Froggy Punkte 273

Sie können auch eine Variable direkt in der PowerShell-Befehlszeile definieren und dann das Skript ausführen. Die Variable wird auch dort definiert. Dies hat mir in einem Fall geholfen, in dem ich ein signiertes Skript nicht ändern konnte.

Beispiel:

 PS C:\temp> $stepsize = 30
 PS C:\temp> .\itunesForward.ps1

mit iTunesForward.ps1 als

$iTunes = New-Object -ComObject iTunes.Application

if ($iTunes.playerstate -eq 1)
{
  $iTunes.PlayerPosition = $iTunes.PlayerPosition + $stepsize
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X