2010-09-14 118 views
7

我寫了一個powershell腳本,它是一個完整的函數,它接受參數(例如函數名稱(參數){}),下面是對函數的調用,參數。使用.cmd或.bat文件中的參數調用powershell函數

我希望能夠在它的.ps1文件中調用這個函數,傳遞參數。我將如何通過.bat或.cmd文件打包調用函數?我正在使用Powershell v2.0。

感謝

回答

1

我相信所有你需要做的就是在命名調用像下面的腳本中的參數:

powershell.exe Path\ScripName -Param1 Value1 -Param2 Value2 

參數1和參數是函數簽名實際參數名稱。

享受!

+0

雖然我如何調用實際功能?這會調用我的功能嗎?如果我在具有參數簽名的相同.ps1文件中具有> 1函數,該怎麼辦? – dotnetdev 2010-09-14 22:22:17

6

您應該使用腳本的所謂「點源」和具有多個語句的命令:使用腳本點源+使用參數調用該函數。

測試腳本測試-Function.ps1:

function Test-Me($param1, $param2) 
{ 
"1:$param1, 2:$param2" 
} 

主叫.bat文件:

powershell ". .\Test-Function.ps1; Test-Me -Param1 'Hello world' -Param2 12345" 

powershell ". .\Test-Function.ps1; Test-Me -Param1 \"Hello world\" -Param2 12345" 

注意:這不是一個要求,但我會建議封閉與整個命令文本如果需要,使用雙引號轉義使用CMD轉義規則的內部引號。

相關問題