class Dir def walk ( prefix = nil, &walker ) e = self.entries e.delete "." e.delete ".." e.collect!{ | x | File.join( prefix, x ) } if prefix
if block_given? e.each { | x | if File.directory?( x ) Dir.new( x ).walk( x, &walker ) end yield x } end nil end end
mydir = "E:/我的程序/SharpDev/MonoClassSrc" lists = Array.new() dirs = Array.new() aDir = Dir.new(mydir) aDir.walk(mydir) do |file| if file.include?(".cs") lists << file.gsub!("#{mydir}/", "").gsub!("/","\\") else dirs << file.gsub!("#{mydir}/", "").gsub!("/","\\") end end
dirs.each do |dir| puts "<Folder Include=\"#{dir}\" />" if dir end lists.each do |file| puts "<Compile Include=\"#{file}\" />" if file end
|