- 论坛徽章:
- 0
|
我有一个自己写的递归函数,能获得指定目录下所有子目录内的文件名。我按你的用途改了一个简易模型,可以删除多个指定目录内的文件(含子目录):- #!/usr/bin/perl
- use strict;
- use warnings;
- my @path = ('d:/test','c:/test2');
- my @files;
- readsub($_) for @path;
- unlink for @files;
- print "All files deleted OK!\7";
- <STDIN>;
- sub readsub
- {
- my $file_t = shift;
- if (-f $file_t)
- {
- push(@files,$file_t); #或者在这里直接unlink
- }
- if (-d $file_t) {
- opendir(AA,$file_t);
- my @list = readdir(AA);
- close (AA);
- my $file_to_act;
- foreach $file_to_act (sort @list)
- {
- if ($file_to_act =~ /^\.|\.$/) { next; }
- else
- {
- readsub("$file_t/$file_to_act");
- }
- }
- }
- }
复制代码 |
|