2011-07-27 27 views
14

Tôi đang cố gắng gọi hàm Powershell "động" bằng chuỗi. Ví dụGọi hàm trong PowerShell qua chuỗi

$functionToInvoke = "MyFunctionName"; 

Invoke-Function $functionToInvoke $arg1 $arg2 # <- what I would like to do 

Có cách nào để đạt được điều này với PowerShell 2.0 không?

Trả lời

24

Bạn có thể làm điều này:

&"MyFunctionName" $arg1 $arg2 
+0

Làm thế nào bạn sẽ gọi một hàm có tên bắt đầu? Nó có vẻ như được chọn bởi cmd? Có thể không nói rằng chính xác ... có cách nào xung quanh loại điều này trong powershell? hay tôi chỉ phải đặt tên cho phương pháp của mình theo cách khác? – BuddyJoe

8

Nếu bạn đang muốn variableize điều whlole:

function myfunctionname {write-host "$($args[0]) $($args[1])"} 
$arg1 = "scripts" 
$arg2 = "test" 

$functionToInvoke = "MyFunctionName"; 


invoke-expression "$functionToInvoke $arg1 $arg2" 

scripts test 
Các vấn đề liên quan