Cygwin上でRubyプログラム実行中にWindows-POSXパスの変換を行う

はじめに

WindowsCygwinが提供するパス形式は異なっているが、cygpathコマンドを利用することでパスの相互変換を行うことができる。このcygpathをRubyプログラム実行中に呼び出してパスの相互変換を行う。

ソースコードと簡単な解説

ソースコードを以下の通り。

#!/usr/bin/ruby -Ks

cmd  = "cygpath -d '/cygdrive/z'"
IO.popen(cmd, 'r+') do |pipe|
 puts pipe.read
end

上記のソースは /cygdrive/z というパスを z:\\ に変換する例である。