Ich verwende Windows 7 RTM. Powershell 2.0 ist standardmäßig installiert. Ich benutze die ausgezeichnete Windows PowerShell ISE, um meine Skripte zu bearbeiten. Ich habe folgendes Skript:Powershell 2.0 Param Schlüsselwortfehler
Param($p)
Param($d)
echo $p $d
Ich speichere das Skript als SayItAgain.ps1. Wenn ich versuche, dieses Skript aus der interaktiven Shell zu laufen wie folgt:
./SayItAgain -p "Hello"
ich folgende Fehlermeldung empfangen:
The term 'Param' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling o
f the name, or if a path was included, verify that the path is correct and try again.
At C:\users\cius\Code\powershell\SayItAgain.ps1:2 char:6
+ Param <<<< ($destination)
+ CategoryInfo : ObjectNotFound: (Param:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
Ist das ein bekanntes Problem oder bin ich benutze es einfach falsch?
, wenn die aus dem
cls
an der Spitze bemerkte ich frage mich, Der tatsächliche Fehler liegt in einer anderen Zeile des Skripts. Sie sagen, dass Sie ./SayItAgain.ps1 aufrufen, aber der Fehler besagt, dass Sie FindAndCopyFiles.ps1 aufrufen. Gibt es noch mehr Code, den Sie teilen können? Manchmal können Fehler Sie in die falsche Richtung weisen. Der Fehler kann anderswo sein. –Ah, ich entschuldige mich für die Inkonsistenz. Ich habe SayItAgain als ein einfaches Beispiel erstellt, um das Problem aufzuspüren. Ich habe den falschen Fehler kopiert, den aus dem ursprünglichen Skript. Ich werde das in meinem Nachtrag erklären. –