使用perl清理电脑上重复文件实现代码(续)
使用perl清理电脑上重复文件实现代码(续)
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:#!/usr/bin/perluseFile::DirWalk;useFile::Basename;useData::Du...

复制代码 代码如下:

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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新perl学习
热门perl学习
脚本专栏子分类