Advertisement
parkdream1

ruby2.rb

Mar 6th, 2012
193
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 1.48 KB | None | 0 0
  1. #!/usr/bin/env ruby
  2. # devilzc0de.org (c) 2012
  3.  
  4. if not ARGV.length == 2 and not ARGV.length == 1
  5.     STDOUT.write("usage : ruby " + File.basename(__FILE__) + " [path to dir/File] [path to save File]\r\n")
  6.     STDOUT.write("ex    : ruby " + File.basename(__FILE__) + " /etc\r\n")
  7.     STDOUT.write("ex    : ruby " + File.basename(__FILE__) + " /etc/issue\r\n")
  8.     STDOUT.write("ex    : ruby " + File.basename(__FILE__) + " /etc/issue issue_new_copy\r\n")
  9.     exit
  10. end
  11.  
  12. target = ARGV[0].gsub("\\","/")
  13.  
  14. if File.directory?("#{target}")
  15.     if not target.end_with?("/")
  16.         target = target + "/"
  17.     end
  18.    
  19.     fs = ""
  20.     Dir.foreach("#{target}").sort.each{ |x|
  21.         if (x != ".") and (x != "..")
  22.             if File.directory?("#{target}#{x}")
  23.                 fs = "[ DIR ]"
  24.             elsif File.file?("#{target}#{x}")
  25.                 fs = File.size("#{target}#{x}")
  26.             end
  27.             print "%12s %s\r\n" % [ "#{fs}", "#{x}" ]
  28.         end
  29.     }
  30. elsif File.file?("#{target}")
  31.     if ARGV.length == 2
  32.         src = File.open("#{target}", "rb")
  33.         trg = File.open("#{ARGV[1]}", "wb");
  34.         trg.write(src.read(1024*1024)) while not src.eof?
  35.         src.close
  36.         src = nil
  37.         trg.close
  38.         trg = nil
  39.     else
  40.         src = File.open("#{target}", "rb")
  41.         while not src.eof?
  42.             print src.read(1024*1024)
  43.         end
  44.         src.close
  45.         src = nil
  46.     end
  47. else
  48.     print "Can't found file or folder : #{target}"
  49. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement