1

私はこれをパワーシェルに持っています

if (Test-Path env:\names)
{
    [string[]] $names= (dir env:\names).Value.Split(",") | % { $_.Trim() }
} else {
    [string[]] $names= "peter","mikael","Anders","William"
}

Write-Host -n "names: " ; [string]$names

コマンドプロンプトから呼び出したいのですが可能ですか?

私はこれを試しました:

powershell -ExecutionPolicy RemoteSigned -File MainScript.ps1 -PARAM "Peter,Mikael"

を探しているのでうまくいかないことは理解してenv:namesいますが、どうすればうまくいくのでしょうか? 私が求めているのは、名前付きのパラメーターを送信したいということであり、上記のコードのようなものでキャッチする必要があります。

4

2 に答える 2

0

あなたはここで完全に混乱しています。最初env:namesは環境変数の値を意味しnames、存在しないはず\です。

次に、スクリプトにパラメーターを受け入れさせたい場合param(string[] $names)は、スクリプトの最初の行として追加するだけです

パラメータを指定してスクリプトを実行する場合は、powershell を起動して次のように入力します。full_path_to_script Peter,Mikael

于 2012-10-23T11:50:16.730 に答える
0

そのように?

param($name)

if (Test-Path env:\names)
{
    $names = $env:names.Split(",") | % { $_.Trim() }
}
else
{
    $names = $name.Split(",") | % { $_.Trim() }
}

 Write-Host -n "names: $names"
于 2012-10-23T11:48:47.200 に答える