2008-02-09 Cygwin上でRubyプログラム実行中にWindows-POSXパスの変換を行う Ruby Cygwin はじめに WindowsとCygwinが提供するパス形式は異なっているが、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:\\ に変換する例である。 参考文献 Rubyで外部コマンドを実行して標準入出力を制御