我正在研究編寫一些可以立即執行的PowerShell代碼,或者生成將作爲生成腳本執行的命令。我可以在不調用的情況下解析PowerShell腳本塊參數嗎?
我想避免這種情況:
if($Generating){
write-Output "somecommand.exe"
}
else{
somecommand.exe
}
我被看ScriptBlocks,起初看起來前途無量,因爲我可以寫腳本塊到控制檯的內容但不執行。如:
$sc = { somecommand.exe }
$sc
somecommand.exe
我的具體問題是,如果我的腳本塊中包含的參數,我可以讓他們當我寫的腳本塊內容到控制檯解決,而無需調用的腳本塊?
例如給出下面的腳本塊:
$b2 = { Param([string]$P) Write-Host "$P" }
當我只需要輸入「$ B2」在控制檯並回車我看到這一點:
Param([string]$P) Write-Host "$P"
我想看到什麼這是(如果參數值是「富」):
Param([string]$P) Write-Host "Foo"
我知道這是可以做到時,它的調用,無論是通過「&「或使用Invoke(),但是有沒有什麼辦法可以讓參數解析,而不需要調用我的腳本生成器,而不需要在整個代碼中使用大量的條件語句?
這也是一個有趣的問題。以防萬一,你可以接受你自己的答案。 –