2000-07-16から1日間の記事一覧

ファイルが存在するかチェックする

File.exist?(path) # ファイルがあれば真を返す File.file?(path) # 通常のファイルならば真を返す File.directory?(path) # ディレクトリなら真を返す

ファイル名をその構成要素に分割する

p File.basename("foo/bar.c") #=> "bar.c" p File.basename("foo/bar.c", ".*") #=> "bar" p File.extname("foo/bar.c") #=> ".c" p File.dirname("foo/bar.c") #=> "foo" こんな便利なものがあったとは.いままで,こんな感じのコードをわざわざ書いていた…

ファイルをリネームする

File.rename( oldname, newname)

ディレクトリとその中身を削除する

require "FileUtils" FileUtils.rmdir( path) FileUtils.rm_rf( "no_empty_dir") # ディレクトリの中身毎削除する

パターンにマッチするファイルを操作する

ディレクトリ内のすべてのファイルを処理する Dir.glob("*.*") {|f| p f} \0で区切ることで複数のパターンを指定できる Dir.glob("f*\0b*")で,fかbで始まるファイルを検索する. dosのワイルドカードよりも柔軟な指定が可能. Dir.glob("[A-C]*")でaからcで…

ファイルをコピーまたは移動する

ベタに src = open('test1.txt') dst = open('test2.txt', 'w'); dst.write( src.read) dst.close src.close require "FileUtils" FileUtils.cp('test1.txt', 'test2.txt') # コピー 第二引数にはディレクトリを指定してもよい. FileUtils.mv('test1.txt', …

ファイルを削除する

require "FileUtils" FileUtils.rm('test.txt') FileUtils.rm('NotExistFile', {:force => true}) :force => true を指定すると,エラーが出ても例外を出さない.File.delete(ファイル名)で普通に削除できる.

備忘録目次 - ロバの耳