使用.cmd或.bat文件中的参数调用powershell函数

Gur*_*epS 9 powershell

我编写了一个powershell脚本,它是一个完整的函数接受参数(例如函数名称(参数){}),下面是一个函数调用,带有参数.

我希望能够在其.ps1文件中调用此函数,并传入参数.如何通过.bat或.cmd文件打包到函数的调用?我正在使用Powershell v2.0.

谢谢

Rom*_*min 13

你应该使用所谓的"dot-sourcing"脚本和带有多个语句的命令:脚本的点源+带参数的函数调用.

测试脚本Test-Function.ps1:

function Test-Me($param1, $param2)
{
 "1:$param1, 2:$param2"
}
Run Code Online (Sandbox Code Playgroud)

调用.bat文件:

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

powershell ". .\Test-Function.ps1; Test-Me -Param1 \"Hello world\" -Param2 12345"
Run Code Online (Sandbox Code Playgroud)

注意:这不是必需的,但我建议用双引号括起整个命令文本,如果需要,使用CMD转义规则转义内部引号.


Dou*_*oug 0

我相信您所要做的就是在脚本调用中命名参数,如下所示:

powershell.exe Path\ScripName -Param1 Value1 -Param2 Value2
Run Code Online (Sandbox Code Playgroud)

Param1 和 Param2 是函数签名中的实际参数名称。

享受!

  • 我如何调用实际的函数呢?这会调用我的函数吗?如果我在同一个 .ps1 文件中有 >1 个函数且带有参数签名怎么办? (2认同)