ruby版本是
c:\temp> C:\opt\sensu\embedded\bin\ruby --version
ruby 2.0.0p645 (2015-04-13) [i386-mingw32]
我有这个红宝石脚本
cmd = "c:\\windows\\system32\\pslist.exe | findstr notepad"
output = IO.popen(cmd).readline
...
它会抛出以下错误
'c:\windows\system32\pslist.exe' is not recognized as an internal or external command,
operable program or batch file.
但是,如果我在命令提示符下运行pslist
或c:\windows\system32\pslist.exe
,它将运行OK并按预期生成结果。
为什么它在红宝石中不起作用?
修改
显然,如果我打电话给“tasklist
”,它就可以了。但替代命令“pslist
”只是失败了。
答案 0 :(得分:0)
我很确定这是64-bit (WOW64) redirection问题。
尝试类似
的内容cmd = "#{File.join(ENV['windir'], 'sysnative', 'pslist.exe'} | findstr notepad"
看看是否有效。