私はいくつかの古いVBスクリプトをPowershellに変換しています。私は複数の変数を設定するためにSwitchステートメントを使用しようとしています。これはPowershellで可能ですか? VBSでは私のコードは次のようなものになります。複数の変数を設定するPowerShellのスイッチステートメント
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
を私はPSで同様のものを試してみましたが、変数を設定していないようです。それが設定されていないため、検索することができません変数「$のSRCDRV」:私はDESTDRVまたはSRCDRVのいずれかの値をチェックすると
switch ($cENV) {
DEV {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder1\"
break
}
TEST {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
PROD {
$SRCDRV = "\\Server1"
$DSTDRV = "\\Server2\Folder2\"
break
}
}
私はというエラーを取得します。私が間違っていることに関するアイデアは?
$を返しています取り出された。 – dugas
ありがとう、そうです、$ cENVを "DEV"に設定すると正しい値が返されます。私はそれを具体的に設定しようとは思わなかった。 $ cENV変数は、スクリプトファイルの場所を決定する関数によって設定されています。スイッチ "DEV"、 "TEST"、 "PROD"を引用符で囲んだ場合、それはチャンピオンのように機能します。あなたの助けをありがとう! – mack