perl清理电脑上重复的文件--续
2011-03-26 09:28
288 查看
续上一篇,利用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;
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清理电脑上重复文件实现代码(续)
- 【lizhi125】FindDupFile - 轻松查找与清理电脑上的重复文件、照片的绿色软件
- 清理电脑日志文件
- 去除文件中重复行,保序perl代码。
- perl 清理垃圾文件
- [教训] windows 电脑的垃圾文件清理...
- 关于清理电脑系统垃圾的batch文件
- 电脑垃圾文件清理
- qq垃圾文件清理教程,给电脑腾空间
- perl删除文件中的重复行
- 用PYTHON实现将电脑里的所有文件按大小排序,便于清理
- 自制30秒清理电脑所有垃圾文件的DOS工具的详细方法和程序命
- 清理电脑垃圾的七个BAT文件
- 技巧:苹果电脑怎么清理缓存文件
- 教你一招:30秒清理你电脑所有文件!让速度快如轮转!
- 清理电脑中的垃圾文件
- 在windows操作系统中使用批处理文件清理电脑的垃圾
- Perl不重复的文件行输出