よしいずみといいます。

 MS-Windows換ruby.exeの ARGV の挙動に関して、バグかなと思われる点があ
ったので書かせていただきます。
 rubyのコマンドライン引数に、シングルクォーテーション(\x27)を含むもの
があると、ARGVが期待する形にならないように思います。
 利用したrubyおよびWindowsのバージョンは次のとおりです。

ruby 2.1.6p336 (2015-04-13 revision 50298) [i386-mingw32]
MS-Windows Seven 64bit: Microsoft Windows [Version 6.1.7601]

 DOSプロンプトで下のように入力したとします。

ruby.exe -e "p ARGV" H27'test.txt test02.txt

 この場合、["H27'test.txt", "test02.txt"] となるのを期待しますが、
 実際は ["H27test.txt test02.txt"] となってしまいます。
 引数が2つではなく1つになり、かつ、シングルクォーテーションが消えま
す。

 引数の順序を入れ換えて、

ruby.exe -e "p ARGV" test02.txt H27'test.txt

 上のように実行すると、引数は2つになりますが、やはりシングルクォーテ
ーションは消えてしまいます。
 とりあえずの退所方法として、シングルクォーテーションを含む文字列を引
用符で囲めば、期待したとおりのARGVが得られます。

ruby.exe -e "p ARGV" "H27'test.txt" test02.txt

 しかし、バッチコマンドの中で下のように書くケースがあります。

@echo off
ruby.exe test.rb %*

 上のバッチコマンドに、マイコンピュータ(Explore)で選択したファイルを
引き渡すようなケースでは、引用符で囲むという退所方法を採ることができま
せん。
 ちなみに、他のコマンド(gawk.exe とか、C#で作った簡単なコマンド)で試
してみると、H27'test.txt を引用符で囲まなくても、期待どおりの結果が得
られます。

 よかったら、次の更新の際に修正していただければありがたいです。