我成功地将我的mysql路径添加到Windows变量Path中的系统变量。如果我运行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,函数,脚本文件或可操作程序的名称。
在此先感谢您的帮助。
答案 0 :(得分:0)
请记住,PowerShell是一个可以运行命令的shell:您将命令放在行的开头,然后放置参数。如果任何参数来自变量,只需将它们放在那里。这就是你需要做的所有事情:
mysql.exe -C -B "-h$server" "-P$port" "-u$user" "-p$password" $db "-e$query"
对于将参数“粘贴”到参数(例如-P<port>
)的参数,引用参数,以便PowerShell知道在字符串中进行变量扩展。
当然,在本例中,我们假设mysql.exe
位于Path
。如果不是,您需要指定mysql.exe
的完整路径和文件名,只需输入mysql.exe
的完整路径和文件名:
& "C:\Program Files\MySQL\bin\mysql.exe" ...
(该路径已组成。)引号("
)是必需的,因为路径包含空格,&
告诉PowerShell将引用的字符串作为命令执行(而不是简单将其解释为字符串)。