如何在Ruby中执行Windows CLI命令?

我有一个文件位于目录“C: Documents and Settings test.exe”但是当我在单个qoutes(我无法在此框中显示)中编写命令
`C:Documents and Settingstest.exe
时,用于在Ruby中执行命令,我无法这样做,我收到的错误是找不到文件或目录。我尝试用“//”和“”替换“”,但似乎没有任何效果。我还使用了system,IO.popen和exec命令,但所有的努力都是徒劳的。此外,exec命令使程序退出,我不想发生。 提前致谢。     
已邀请:
`"C:Documents and Settingstest.exe"`
要么
`exec "C:Documents and Settingstest.exe"`
或者在qoutes中的任何东西     
反引号环境就像双引号,因此反斜杠用于转义。此外,Ruby会将空格解释为分隔命令行参数,因此您需要引用整个事物:
`"C:\Documents and Settings\test.exe"`
另一个选择是使用
system
并强制第二个参数。如果
system
获得多个参数,它会将第一个参数视为要执行的命令的路径,并且您不需要引用该命令:
system('C:Documents and Settingstest.exe','')
注意使用单引号,所以我们没有转义反斜杠。 当然,这不会让你出现标准输出/错误,所以如果你使用的是Ruby 1.9.2,你可以使用非常方便的
Open3
库,它的工作方式类似于
system
,但是它提供了有关你刚刚运行的过程的更多信息:
require 'open3'

stdout,stderr,status = Open3.capture3('C:Documents and Settingstest.exe','')

puts stdout # => string containing standard output of your command
puts stderr # => string containing standard ERROR of your command
if status.success?
  puts "It worked!"
else
  puts "OH NOES! Got exit code #{status.exitstatus}"
end
    

要回复问题请先登录注册