「カレントディレクトリの下のファイル全部をディレクトリも含めて
大文字に変えるのをrubyでやるとどーなるの?」
と聞かれたのですが、
path = ARGV.shift
def upper(path)
Dir.chdir(path)
Dir.foreach("."){|f|
if FileTest.directory?(f)
unless f == '.' or f == '..'
upper(f)
File.rename(f, f.upcase)
end
else
File.rename(f, f.upcase)
end
}
Dir.chdir("..")
end
upper path
くらいしか思いつきませんでした。普通にFindライブラリを使おうとすると、
先にディレクトリ名を変更して、その下のファイルの処理に困ってしまう。
正解は?
--
人生を背負い投げ
菊谷 誠(Kikutani Makoto) kikutani / sprintmail.com
kikutani / debian.or.jp (Linux関係のみ)