传递参数给启动作业脚本块?(Passing arguments to Start-Job scrip

2019-07-19 04:12发布

我想建立一个cmdlet来启动和停止MySQL和我想与启动工作这样做。 在我有我的PowerShell配置如下:

$mysqlpath = "C:\Program Files\MySQL\MySQL Server 5.5\bin"
Function Start-Mysql
{
    Start-Job -ScriptBlock { & "$mysqlpath\mysqld.exe" }
}

变量似乎并没有被作业命令但是扩大? 我必须缺少某种范围规则的。 可能有人请指教? 谢谢!

Answer 1:

您必须使用-argumentlist参数见获取帮助启动工作 :

 start-job  -ScriptBlock { & $args[0] }} -ArgumentList @($mysqlpath )

请注意,V3,你只需要使用前缀using:您VARNAME前前:

  Start-Job -ScriptBlock { & "$using:mysqlpath\mysqld.exe" }


文章来源: Passing arguments to Start-Job scriptblock?