Er der et svar til Ruby Shellwords-modulet til Windows-shell?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal konstruere Windows shell kommandolinjer fra arrayer i Ruby. Hvis jeg brugte Bash, kunne jeg bruge standard Shellwords-modulet. Er der et svar til Shellwords til Windows-skalen, som sikkert kan omdanne et array til en kommandolinje?

Bedste reference


Det ser ud til mig, der er desværre ingen Windows-analog til Shellwords.

Andre referencer 1


Jeg har afgjort følgende:


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


som tillader mig at shellescape enhver streng ved at gøre


~"some string with cruft&! in it"

Andre referencer 2


Dette synes at være en version af shellwords med Windows support:
https://github.com/larskanis/shellwords[3]


Ikke upstream men så vidt jeg ser.