1.8 以降では、ftools.rb の利用は推奨しません。ファイル操作をするにはfileutils.rbを使ってください。
require 'ftools' とすると、ファイルのコピーや削除などのメソッドが追加される。 to は新たなファイル名かディレクトリ名。 verbose が真のとき、標準エラー出力に処理の経過が出る。
File.copy(from, to[, verbose = false]) => true or falseFile.cp(from, to[, verbose = false]) => true or falseファイルをコピーする。より正確には from を読んで to に書き、モードを変更する。ファイルの更新時刻はコピーした時刻に更 新される。
例えば、更新時刻を保持したい場合は
File.copy(from, to) stat = File.stat(from) File.utime(stat.atime, stat.mtime, to)
などとする。
File.move(from, to[, verbose = false]) => true or falseFile.mv(from, to[, verbose = false]) => true or falseファイルを移動する。File.rename と異なりパーティション をまたがる移動もできる。
File.compare(from, to[, verbose = false]) => true or falseFile.cmp(from, to[, verbose = false]) => true or false2つのファイルを比較する。 同じなら true、異なるなら false を返す。
File.safe_unlink(files[, ...][, verbose = false])File.rm_f(files[, ...][, verbose = false])(複数の)ファイルを可能な限り削除する。削除できたファイルの数を
返す。rm -f(rm(1))に相当。
File.makedirs(dirs[, ...][, verbose = false])File.mkpath(dirs[, ...][, verbose = false])(複数の)ディレクトリを作成する。多階層のパスを一度に作成することも可能。
ディレクトリが既にあれば何もしない。
mkdir -p(mkdir(1))に相当。
File.chmod(mode, files[, ...][, verbose = false])(複数の)ファイルの属性を変える。 オリジナルの File.chmod に verbose の指定が 追加されるだけ。
File.install(from, to[, mode = nil[, verbose = false]])ファイルをコピーし、モードを設定する。 コピー先が存在する場合は一旦削除されるので、コピー先のファイルが 他のファイルにハードリンクされていれば、そのリンクは切れる。 install (install(1))コマンドに相当。