如何在&内调用一个函数在powershell?

时间:2016-08-10 01:41:11

标签: powershell powershell-v2.0 powershell-v3.0 powershell-v4.0

假设我在test.ps1中有一个函数,它的名称显示如下代码:

. "some_path\some_other_script.ps1"

function show {
    write-host "Hello World"
    #some other function call from some_other_script.ps1
    ...
}

如何以跟随格式(在& - 调用运算符中)调用show

powershell.exe "& '%test_script_path%\test.ps1'\show"

我认为我需要首先点源test.ps1以获取来自some_other_script.ps1的show function中的依赖项

我知道我可以创建一个新脚本并将代码放在show中,而不是放在函数中。这样,什么时候做& ...脚本将被调用。但我不想为一个非常简单的函数创建一个新脚本

感谢您的任何建议

2 个答案:

答案 0 :(得分:2)

你可以点源它,然后像这样调用它。

powershell -Command ". '%test_script_path%\toolsql.ps1'; show"

;用作命令之间的分隔符。

答案 1 :(得分:0)

我非常感谢来自@Patrick Meinecke的帮助和时间,以下命令有效。

powershell -command ". .\test.ps1;show"
像他在聊天中提到的一样, “所以要解释一下 。\只表示它在当前目录中 它还需要另一个。告诉powershell将脚本加载到当前上下文“