この特定のケースは、引用符がまったく必要ないため、非常に簡単です。すべての特殊文字はすでに引用符で囲まれています。試す:
cmd /c ruby -e "File.open('c:\replace_me', 'w') { |f| f.write(File.read('C:/Documents and Settings/All Users/Application Data/replace_me')) }"
より一般的なケースでは、キャレットを使用して、コマンド シェルが解釈する文字を引用する必要がある場合があります。私はこれが正しいと思います:
cmd /c ruby -e ^"File.open('c:\replace_me', 'w') { ^|f^| f.write(File.read('C:/Documents and Settings/All Users/Application Data/replace_me')) }^"
ただし、コンテキスト (つまり、コマンド全体がコマンド シェルによって解析されているかどうか) によっては、次のように二重引用符で囲む必要がある場合があります。
cmd /c ruby -e ^^^"File.open('c:\replace_me', 'w') { ^^^|f^^^| f.write(File.read('C:/Documents and Settings/All Users/Application Data/replace_me')) }^^^"
自問すべきもう 1 つの質問は、実際にコマンド シェルが必要かどうかです。ほとんどすべてのコンテキストで、可能な限り単純なアプローチが完全に機能するはずです。
ruby -e "File.open('c:\replace_me', 'w') { |f| f.write(File.read('C:/Documents and Settings/All Users/Application Data/replace_me')) }"