运行可执行文件的语法?

时间:2015-11-29 05:15:24

标签: powershell

我试图从PowerShell 3 ISE中运行它:

&"C:\inetpub\htpasswd.exe -bc C:\inetpub\wwwroot\xyz\password\passMD5.txt sm88555 sm88999"

但得到此错误:

  

不会被识别为cmdlet,函数,脚本文件或可运行程序的名称。检查名称的拼写,或者如果包含路径,请验证路径是否正确,然后重试。

我认为PowerShell会在第一个空格后停止正确评估吗?

2 个答案:

答案 0 :(得分:2)

iex - Invoke-Expression我在&

$htPassword = "C:\inetpub\htpasswd.exe"
$htParams = "C:\inetpub\wwwroot\xyz\password\passMD5.txt sm88555 sm88999"
Invoke-Expression -Command "$htPassword $htParams"

myeval很好地处理了joel-b-fant

答案 1 :(得分:2)

调用操作符不解释整个命令行/表达式。这就是Invoke-Expression的用途。如果要使用调用运算符,请将参数与命令(以及彼此)分开:

& "C:\inetpub\htpasswd.exe" -bc "C:\inetpub\wwwroot\xyz\password\passMD5.txt" "sm88555" "sm88999"