Ich bin in den Prozess zu Powershell einige alte VB-Skript zu konvertieren. Ich versuche, eine Switch-Anweisung zu verwenden, um mehrere Variablen festzulegen. Ist das in Powershell möglich? In VBS würde mein Code wie folgt aussehen:Powershell Switch-Anweisung setzen Mehrere Variablen
Select Case ENV
Case "DEV"
: SRCDRV = "\\Server1" _
: DESTDRV = "\\Server1\Folder1\"
Case "TEST"
: SRCDRV = "F:" _
: DESTDRV = "\\Server1\Folder2\"
Case "PROD"
: SRCDRV = "F:" _
: DESTDRV = "\\Server2\Folder2\"
End Select
ich etwas ähnliches in PS versucht, aber es scheint nicht, die Variablen zu setzen.
switch ($cENV) {
DEV {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder1\"
break
}
TEST {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
PROD {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
}
Wenn ich den Wert von entweder DESTDRV oder SRCDRV überprüfen erhalte ich eine Fehlermeldung, dass: die Variable ‚$ SRCDRV‘ kann nicht abgerufen werden, weil es nicht gesetzt wurde. Irgendwelche Ideen, was ich falsch mache?
$ cenV wahrscheinlich einen gewissen Wert hat, sonst hätte er eine Fehlermeldung erhalten, die $ cenV nicht sein kann abgerufen. – dugas
Danke, Sie haben Recht, wenn ich $ cenv auf "DEV" setze, wird der korrekte Wert zurückgegeben. Ich habe nicht daran gedacht, es speziell zu versuchen. Die Variable $ cENV wird von einer Funktion festgelegt, die den Speicherort der Skriptdatei bestimmt. Wenn ich die Schalter "DEV", "TEST" und "PROD" in Anführungszeichen setze, funktioniert es wie ein Champion. Vielen Dank für Ihre Hilfe! – mack