我對powershell瞭解不多,但我想從powershell運行另一個腳本,並傳遞所有未使用的參數。在bash我這樣做(簡化):
MY_PARAM=$1
shift
python otherscript.py "[email protected]"
我已經嘗試了很多東西在PowerShell中,但沒有任何工作。在我的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腳本。
'蟒蛇otherscript.py $ args'從PowerShell的(PS 5.1,蟒蛇3.6調用時,我的偉大工程,Win10)。你如何調用PowerShell腳本和你傳遞給它的參數? –