Ruby遍历文件夹同时计算文件的md5sum

#!/usr/bin/ruby -w

#

require 'digest/md5'

if ARGV.empty?

puts "usgae: #$0 path"

exit 0

end

dir_name=ARGV.shift

def dir_md5sum(path)

md5s=Array.new

if File.directory?(path)

Dir.new(path).each do |file|

next if file =~ /^\.+$/

file="#{path}/#{file}"

if File.directory?(file)

dir_md5sum(file)

elsif File.file?(file)

md5="#{Digest::MD5.hexdigest(File.read(file))} #{file}"

md5s.push(md5)

end

end

elsif File.file?(path)

md5="#{Digest::MD5.hexdigest(File.read(path))} #{path}"

md5s.push(md5)

else

puts "Ivalid File type"

exit 2

end

md5s.each do |item|

puts item

end

end

dir_md5sum(dir_name)

以上是 Ruby遍历文件夹同时计算文件的md5sum 的全部内容, 来源链接: utcz.com/z/320888.html

回到顶部