私はpowershellについてはあまりよく分かりませんが、私はpowershellから別のスクリプトを実行したいと思います。私はPowerShellで多くのことを試してみましたが、何も働いていない
MY_PARAM=$1
shift
python otherscript.py "[email protected]"
:bashで、私はそれを(簡体字)、この方法でやっています。私のpythonスクリプトでは、最初の引数(またはさまざまなエラーメッセージ)として、 "System.Object[]
"(または "System.Collections.Generic.List`1[System.Object]
")またはすべての引数を単一の文字列にラップしています。
python otherscript.py $args
Invoke-Expression "python otherscript.py $args"
- をそして
$args
の代わりに、私はまた、このための適切な構文は何$MyInvocation.Line
または$MyInvocation.UnboundArguments
を使用して試してみました:私が試してみましたか?
アップデート1
Mathias R. Jessenとしてコメント、私が期待するようpython otherscript.py $args
作品で、「グローバルスコープ」からPythonスクリプトを呼び出します。
私は実際にやろうとしています何を、関数内からの私のPythonスクリプトを呼び出すことです:
param (
[string]$command = ""
)
function Invoke-Other() {
python otherscript.py $args
}
switch ($command) {
"foo" {
Invoke-Other $args
}
}
私はシングル、「ラップ」引数「バーバズ」を取得するときにこれは、設定され、私は.\myscript.ps1 foo bar baz
と私のpowershellスクリプトを呼び出します。
'pythonのotherscript.py $ args'私にとって素晴らしい作品:関数への個別の引数として渡されたスクリプトの引数リストを持っている
使用splatting 、Win10)。 PowerShellスクリプトをどのように起動していますか、どの引数を渡していますか? –