无法通过命令提示符运行powershell命令

时间:2016-03-26 09:51:38

标签: powershell cmd

以下命令可以通过powershell运行。

gwmi Win32_Product -filter "name like 'Java%' AND vendor like 'Oracle%' AND not version = '8.0.770.3'" | % { $_.Uninstall() }

我想在不使用脚本文件或打开PowerShell的情况下运行它,但只需通过命令提示符调用powershell.exe即可。我收到以下错误

无法找到接受参数'java%'的位置参数。

请帮忙。

1 个答案:

答案 0 :(得分:0)

引号应该是个问题。

在批处理中使用powershell.exe(运行PowerShell命令)时,应特别注意引用规则。

批次主要使用双引号,因此您可以安全地执行以下操作:

  • 将整个PowerShell命令放在脚本块中,用双引号和&运算符包围,以使PowerShell调用该命令。
  • 用单引号替换命令中的所有双引号。
  • 将WMI过滤器内的所有单引号加倍。

最终结果如下:

powershell.exe -Command "& {gwmi Win32_Product -filter 'name like ''Java%'' AND vendor like ''Oracle%'' AND not version = ''8.0.770.3''' | % { $_.Name }}"

当然,还有其他方法可以做同样的事情。