Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1306785
  • 博文数量: 213
  • 博客积分: 7590
  • 博客等级: 少将
  • 技术积分: 2185
  • 用 户 组: 普通用户
  • 注册时间: 2008-08-31 17:31
个人简介

热爱开源,热爱linux

文章分类

全部博文(213)

文章存档

2018年(4)

2017年(1)

2015年(1)

2014年(5)

2013年(2)

2012年(2)

2011年(21)

2010年(82)

2009年(72)

2008年(23)

分类: Python/Ruby

2011-08-10 15:46:32

  1. 1.删除只有一级目录的非空目录,先将要删除目录里面的文件删除,然后再删除目录
  2. #!/usr/bin/perl
  3. use warnings;
  4. use strict;

  5. my $which_dir="/home/ceagle/Code/Perl/test/deldir/t";
  6. chdir($which_dir);

  7. # Get the files in the directory $which_dir
  8. my @files=<*>;
  9. foreach (@files) {
  10.     printf("%12s\n",$_);
  11.     unlink $_;
  12. }
  13.  
  14. rmdir $which_dir;

  15. ##############################################################
  16. 2.递归删除非空目录,包含多级目录
  17. #!/usr/bin/perl
  18. use warnings;
  19. use strict;

  20. my $which_dir=shift || "/home/ceagle/Code/Perl/test/deldir/t";

  21. sub del_dir {
  22.     my $sub_dir = $_[0]; #得到传进的第一个参数
  23.         if ( -e $sub_dir ) {
  24.                 printf("In dir $sub_dir ...\n ");
  25.         } else {
  26.                 #如果没有要删除的传进去的目录,则直接退出
  27.                 printf("There is no dir $sub_dir to delete\n");
  28.                 exit 0;
  29.         }
  30.         chdir $sub_dir;

  31.     # Get all the file from the directory $sub_dir
  32.     my @files = <*>;
  33.         foreach my $file ( @files ) {
  34.         if ( -d $file ) { #如果包含目录,则递归删除
  35.            del_dir($file);
  36.         } else {
  37.                   unlink $file;
  38.               printf("%-s deleted\n",$file);
  39.         }
  40.     }
  41.         chdir "../";
  42.         rmdir $sub_dir; #删除当前目录
  43.         printf("%-s deleted\n",$sub_dir);
  44. }

  45. del_dir($which_dir);


  46. ##############################################################
  47. 3.使用Find模块删除,包含删除多级目录
  48. #!/usr/bin/perl
  49. use warnings;
  50. use strict;
  51. use File::Path;
  52. my $which_dir=shift || "/home/ceagle/Code/Perl/test/deldir/t";

  53. system ("echo $which_dir");
  54. rmtree $which_dir;
阅读(2902) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~