Ruby没有正确调用Powershell命令

时间:2016-12-09 16:04:52

标签: ruby powershell

我正在尝试编写一个在PowerShell中解析日期的ruby类,但是当通过Ruby执行命令时,我收到以下错误:

'select' is not a recognized as an internal or external command, operable program or batch file

以下是我用Ruby编写的方法:

`powershell (Get-Hotfix | sort installedon | select -ExpandProperty installedon -Last 1).ToShortDateString()`

有什么想法?当我自己进入powershell时,它工作正常。我想知道它是否与管道有关。

1 个答案:

答案 0 :(得分:2)

Ruby中的

Backtick(`)正在调用一个shell命令,所以忘记你是从Ruby调用它并在命令提示符中将所有内容放在你的反引号中而你&# 39;我会看到同样的错误。先修复它。

问题是管道|是命令提示符中的特殊字符,并且命令中有空格,因此在将PowerShell命令传递给powershell.exe之前应该引用PowerShell命令:< / p>

`powershell.exe -Command "(Get-Hotfix | sort installedon | select -ExpandProperty installedon -Last 1).ToShortDateString()"`