我有如下的文件夹结构
mishel/ #Parent directory
mike1 #sub file of mishel
minni1 #sub file of mishel
rosy1 #sub file of mishel
rocky/ #sub directory of mishel
missi #subfile of rocky
marsh #subfile of rocky
milly #subfile of rocky
monu/ #sub directory of rocky
mike #sub file of monu
minni #sub file of monu
rosy #sub file of monu所以我的问题是:我想使用一个脚本,它可以一次自动删除所有的文件和子文件夹。
如果我们使用函数"rmdir(dirname)“,目录必须为空。所以有没有可能从子目录开始删除到父目录。
发布于 2013-02-19 21:04:15
编写一个以目录为参数的函数。让该函数在目录中执行readdir。对于readdir返回的每个项目,检查它是否是一个文件-如果是,则将其删除。如果它是一个目录,则使用子目录作为参数再次调用该函数。如果没有项目(除了.和..),请删除该目录。
发布于 2013-02-20 07:50:51
use Path::Class;
my $dir = dir('foo');
$dir->recurse(callback => sub {
unlink $_[0] if !$_[0]->is_dir;
});
$dir->rmtree(0, 1);或者:
use File::Path ('rmtree');
rmtree('foo', 0, 0);请参阅http://www.perlmonks.org/bare/?node_id=605930
发布于 2013-02-20 07:34:07
perl -e 'system "find mishel -delete"'https://stackoverflow.com/questions/14969580
复制相似问题