是否有相当于Windows shell的Ruby Shellwords模块?

时间:2011-04-12 14:10:53

标签: ruby windows shell command-line-arguments

我需要在Ruby中从数组构造Windows shell命令行。如果我使用Bash,我可以使用标准的Shellwords模块。 Windows shell是否有等效的Shellwords,可以安全地将数组转换为命令行字符串?

3 个答案:

答案 0 :(得分:2)

在我看来,不幸的是,实际上没有Windows类似于Shellwords。

答案 1 :(得分:2)

我已经解决了以下问题:

require 'os'
class String
  def ~
    if OS.windows?
      return '"' + self.gsub('"', '""') + '"'
    else
      return self.shellescape
    end
  end
end

允许我通过

来搜索任何字符串
~"some string with cruft&! in it"

答案 2 :(得分:2)

这似乎是windows支持的shellwords版本: https://github.com/larskanis/shellwords

据我所知,还没有上游。