遍历文件夹

  def traverse_dir(file_path)
    if File.directory? file_path
      puts "Dir:" + file_path
      Dir.foreach(file_path) do |file|
        if file != "." and file != ".."
          traverse_dir(file_path + "/" + file)
        end
      end
    else
      puts "File:" + file_path
    end
  end

 

举个例子:

 

    traverse_dir "D:/Program Files/WinSCP"

 

示例输出:

 

Dir:D:/Program Files/WinSCP
File:D:/Program Files/WinSCP/DragExt.dll
File:D:/Program Files/WinSCP/licence
Dir:D:/Program Files/WinSCP/PuTTY
File:D:/Program Files/WinSCP/PuTTY/LICENCE
File:D:/Program Files/WinSCP/PuTTY/pageant.exe
File:D:/Program Files/WinSCP/PuTTY/putty.hlp
File:D:/Program Files/WinSCP/PuTTY/puttygen.exe
File:D:/Program Files/WinSCP/unins000.dat
File:D:/Program Files/WinSCP/unins000.exe
File:D:/Program Files/WinSCP/WinSCP.chs
File:D:/Program Files/WinSCP/WinSCP.com
File:D:/Program Files/WinSCP/WinSCP.exe

 

你可能感兴趣的:(遍历文件夹)