使用perl清理电脑上重复文件实现代码(续)
代码如下:
#!/usr/bin/perl use File::DirWalk; use File::Basename; use Data::Dumper; use warnings; use strict; my $dw = new File::DirWalk; my %files; fileparse_set_fstype("MSWin32"); $dw->onFile( sub { my ($file) = @_; push @{$files{basename($file)}->{"Paths"}},$file; $files{basename($file)}->{"Num"} += 1; return File::DirWalk::SUCCESS; } ); my $hTrace; open $hTrace, '> Trace.txt'; select $hTrace; $dw->walk('D:/old/perl'); my @newFiles; while( my ($k, $v) = each %files) { if($v->{"Num"} > 1) { #print $k."\n"; #print Dumper($v); push @newFiles, { "Name"=>$k, "Paths"=>$v->{"Paths"}, "Num"=>$v->{"Num"} } } } #print Dumper(@newFiles); @newFiles = sort {($a->{"Num"}) <=> ($b->{"Num"})} @newFiles; print Dumper(@newFiles); close $hTrace;
相关推荐
边城客栈学无止境 2020-07-05
Walter的学习笔记 2020-07-04
A宇 2020-06-14
边城客栈学无止境 2020-06-10
邓博学习笔记 2020-06-03
davidliu00 2020-05-26
ShiShuo 2020-05-16
Aggressivesnail 2020-05-10
ShiShuo 2020-04-26
hanxingwang00 2020-04-22
davidliu00 2020-03-06
ShiShuo 2020-03-06
ShiShuo 2020-03-05
Aggressivesnail 2020-02-28
aaLiweipeng 2020-02-01
amberom 2020-01-16
Walter的学习笔记 2020-01-06