服务器之家

服务器之家 > 正文

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

时间:2020-04-29 10:37     来源/作者:脚本之家

?

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

#!/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)

 

相关文章

热门资讯

沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意
沙雕群名称大全2019精选 今年最火的微信群名沙雕有创意 2019-07-07
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
超A是什么意思 你好a表达的是什么
超A是什么意思 你好a表达的是什么 2019-06-06
和平精英超高音质怎么修改 和平精英超高音质重启设置方法
和平精英超高音质怎么修改 和平精英超高音质重启设置方法 2019-06-26
返回顶部