【问题标题】:Syntax for running executables?运行可执行文件的语法?
【发布时间】:2015-11-29 05:15:24
【问题描述】:

我正在尝试从 PowerShell 3 ISE 运行它:

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

但得到这个错误:

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

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

【问题讨论】:

  • iex - 调用表达式 [-Command] []

标签: powershell


【解决方案1】:

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 处理得很好

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-06-12
      • 1970-01-01
      • 1970-01-01
      • 2012-09-25
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      相关资源
      最近更新 更多