有人可以解釋Invoke-Expression $test
和Invoke-Expression -Command $test
之間的區別嗎?調用表達式和調用表達式之間的區別 - 命令
變量測試:
$test = "notepad.exe myfile.txt"
有人可以解釋Invoke-Expression $test
和Invoke-Expression -Command $test
之間的區別嗎?調用表達式和調用表達式之間的區別 - 命令
變量測試:
$test = "notepad.exe myfile.txt"
Invoke-Expression $test
和Invoke-Expression -Command $test
都一樣。雙方將投入$test
成在位置1 -Command
是和你可以把可選的參數名的「命令」參數。
SYNTAX
Invoke-Expression [-Command] <string> [<CommonParameters>]
他們是功能上等同。 -Command
是cmdlet採用的唯一參數,它不在CommonParameters
集合中,並且在位置使用時第一個(默認情況下,因爲它是唯一一個)。
你正在做的第二個例子是明確指定你的參數,而不是依賴於位置。這是一個很好的習慣。詳盡,但面向未來,它使你的意圖清晰。
的命令是類似的,但也表現不同。例如:
$sb = [scriptblock]::Create("test-path 'c:'")
iex $sb
icm $sb
的iex
會產生錯誤,而icm
不會。
兩者都是不相同:
調用-表達:運行在本地計算機上的命令或表達式。
Invoke-Command:在本地和遠程計算機上運行命令。
'icm'代表'invoke-command',與問題無關。 –
Invoke-expression -command,command是invoke-expression方法的標誌,icm正在調用完全不同的方法的invoke-command –