【问题标题】:Run MySql.exe as SystemVariable using PowerShellScript使用 PowerShellScript 作为 SystemVariable 运行 MySql.exe
【发布时间】:2017-10-26 00:18:28
【问题描述】:

我成功地将我的 mysql 路径添加到 Windows 变量路径中的系统变量中。如果我运行 cmd 然后运行 ​​mysql.exe。它将毫无问题地执行程序。

我想从 PowerShell 运行 mysql.exe

$mysql = "mysql.exe"
$params = "-C","-B","-h$server","-P$port","-u$user","-p$password",$db,"-e$query"
&  $mysql @params

我尝试了 ./mysql.exe 和 mysql.exe 但它不起作用。

我收到错误:“mysql.exe”一词未被识别为 cmdlet、函数、脚本文件或可运行程序的名称。

提前感谢您的帮助。

【问题讨论】:

  • 如果来自工作目录的 dot source 给您带来该错误,您需要使用完整路径来 dot source,将 mysql.exe 添加到您的环境路径,或使用“Start- Process" cmdlet(带有完整路径)。
  • .\command./command 不是点源。点源是在点之后有一个空格。运行help about_Scopes 了解更多详细信息,并阅读标题为“将点源表示法与范围结合使用”的部分。

标签: mysql powershell window


【解决方案1】:

请记住,PowerShell 是一个可以运行命令的 shell:您将命令放在行首,然后将参数放在后面。如果任何参数来自变量,只需将它们放在那里。这就是您需要做的所有事情:

mysql.exe -C -B "-h$server" "-P$port" "-u$user" "-p$password" $db "-e$query"

对于将参数直接“粘贴”到参数的参数(如 -P<port>),请引用参数,以便 PowerShell 知道在字符串中进行变量扩展。

当然,在这个例子中,我们假设mysql.exePath 中。如果不是,则需要指定mysql.exe的完整路径和文件名,只需输入mysql.exe的完整路径和文件名即可:

& "C:\Program Files\MySQL\bin\mysql.exe" ...

(该路径是组成的。)引号 (") 是必需的,因为路径包含空格,& 告诉 PowerShell 将带引号的字符串作为命令执行(而不是简单地将其解释为字符串)。

【讨论】:

  • 感谢它也与 $params = "-C","-B","-h$server","-P$port","-u$user","-p$password",$db,"-e$query" & mysql @params @Bill_Stewart 合作
  • 逗号不是必须的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-05-28
  • 1970-01-01
  • 2019-12-18
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-06
相关资源
最近更新 更多