RubyでFileリスト作成

Bookmark this on Google Bookmarks
LINEで送る
Pocket

サイトの構造を把握したいとき等にひとまずファイル一覧を作成することがある。
いままではFileIndexというエクセルを使ったソフトで作成していたが
今はエクセルをインストールしていないので別の方法が必要になりRubyを使って作成している。

Windowsの場合は、下記のように作成している。
環境はVMWare Fusion上のWindows 7で、RubyInstallerでRuby1.9.2をインストール済み。

スタート内のStart Command Prompt with Rubyをクリックしコマンドプロンプトを起動して
ルートのディレクトリに移動し下記のようなRubyスクリプトを作成あるいはコピーして実行する。
テキストファイルへ結果を保存したいので> filelist.txtと入力する。

C:SiteData>ruby filelist.rb > filelist.txt

filelist.rb

def recursive_dir(path)
  Dir::foreach(path) do |v|
	next if v == "." or v == ".."
	if path =~ //$/
	  v = path + v
	else
	  v = path + "/" + v
	end
	p v
	if FileTest::directory?(v)
	  recursive_dir(v)
	end
  end
end
recursive_dir("./")