2016-03-03 38 views
0

我已經寫了Powershell腳本,並且在控制檯中,我通常指定啓動腳本執行的啓動函數。但是我希望腳本自己指定啓動功能,例如My-Function本身,以在我運行腳本時開始執行。即只需輸入腳本名稱並輸入..> myscript.ps1,它應該從My-Function開始執行。我如何在腳本中指定啓動功能?如何指定Powershell的啓動方法

+0

只是刪除功能。 –

+0

@傑拉爾德:出於某種原因,我不想刪除,請任何解決方案? – SPBeginer

+1

好吧,或者您可以在定義之後立即調用它。但它使得它毫無意義。 –

回答

0

如前所述,你可以移動的代碼出了函數(其實我通常不會推薦),或者只是立即調用的函數:

function MyFunc { 
    # stuff 
} 

MyFunc 

PowerShell不具有的概念如果這就是你想要的入口點。

更通用的解決方案,您可能希望指定一個函數作爲腳本中的參數進行調用,但具有默認值,可以使腳本將函數名稱作爲具有默認值的參數。

腳本的頂部:

[CmdletBinding()] 
param(
    $FunctionName = 'Func1' 
) 

function Func1 { 
    # does stuff 
} 

function Func2 { 
    # does other stuff 
} 

Invoke-Expression -Command $FunctionName 

我真的不喜歡這樣。而且這很危險(任何傳入的PowerShell代碼都會作爲函數名執行)。

相關問題