私はいくつかの関数を含むpowershellスクリプトを持っています。関数の1つがコマンドライン引数を受け取る必要があります。私はこの実行したときにcli引数をpowershellの関数に渡す
$mydocs = [Environment]::GetFolderPath("MyDocuments")
function example() {
param(
[string]$name = "testfolder",
[switch]$foo = $false
)
$newdir = $mydocs + "\" + $name
if (!(Test-Path $newdir)) { mkdir $newdir }
}
example
だから::
.\example.ps1 -name anewfolder -foo
を私はこれらの引数を使用する関数の例をしたいここで私がやっているようなスクリプトです。
スコープのため、私の関数には$ argsがありません。 Write-Host $ argsを関数に入れてチェックし、何も返さない。親argsを取得し、paramsに渡して、引数を指定して実行するにはどうすればよいですか?または、私は関数を削除して、親スコープで自分のコードのこの部分を実行する必要がありますか?
このようにするには、同じ 'param()'セットをスクリプトの先頭に追加して、指定されたparamsを使って(実行中の)関数を呼び出す必要があります。 – brendan62269