我有一個簡單的問題。我想一個命令分配給一個變量,並有額外的參數來執行,如:電源外殼:一個命令作爲參數的變量
C:\test.exe /q /v
但是當我做:
$path=C:\test.exe
$path /q /v
它不工作..任何想法?
我有一個簡單的問題。我想一個命令分配給一個變量,並有額外的參數來執行,如:電源外殼:一個命令作爲參數的變量
C:\test.exe /q /v
但是當我做:
$path=C:\test.exe
$path /q /v
它不工作..任何想法?
命令字符串:
隨着調用,表達cmdlet時,執行任意的字符串作爲一段代碼。它接受字符串,編譯它並執行它。
所以你做的事:
$path='C:\test.exe';
Invoke-Expression "$path /q /v";
作爲一個方面說明:當你做$path=C:\test.exe
不帶引號,你實際上是分配的test.exe
標準輸出到變量$path
。你必須向PowerShell表明它實際上是一個你希望稍後執行的字符串。
命令腳本對象:
如果您關心性能,你也可以嘗試你的命令轉換爲編譯腳本塊,並與&
電話運營商執行。
$path='C:\test.exe';
$cmd = [scriptblock]::Create("$path /q /v");
& $cmd;
謝謝你們,它的作品:) – Sam
你可以說錯誤是什麼,它如何工作? – Stoleg
這是一個語法錯誤,或者我的命令在沒有參數的情況下啓動,所以當我運行$ path/q/v時,PS會運行$ path。 – Sam