谁能帮我用perl写个删除目录的小程序?

skyover 2002-07-22 07:04:57
ftp上有些目录老是删除不了。改成777也一样。。麻烦。。
...全文
139 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
JAPL 2002-07-23
  • 打赏
  • 举报
回复
use File::Find;

# finddepth 是一个目录走到底,之后一层层递归回去.
finddepth(\&remove,$dir);

sub remove {
print "deleting $_";
# next if $_ eq '.' or $_ eq '..';
# 当前目录(是最底层)下的文件已被删掉,此时delete空目录
if (-d) {
rmdir or die "$!\n";
next;
}
# delete 文件
unlink $_ or warn "$!\n";
}

简单的,

use FILE::Find;
finddepth( sub{ if(-d){ rmdir;next } unlink},$dir);

不过,要删掉 ftp 上的文件, File::Find 就不能用了(anyone??).
需要 Net::FTP 和 AIICHN 的方法.
AllCHN 2002-07-22
  • 打赏
  • 举报
回复
sub RemoveDIR {
# 参数为路径
my $entry;
my $path = $_[0];
opendir(DIR,$path);
my @entries = readdir(DIR);
closedir(DIR);
foreach $entry (@entries) {
next if (($entry eq ".") || ($entry eq ".."));
if (-d "$path/$entry") { # 是目录吗?
&RemoveDIR("$path/$entry"); # 不包含子目录时,换成 return;
} else {
unlink "$path/$entry";
}
}
rmdir($path);
}

37,742

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧