在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2283|回复: 0

[求助] 有关perl读取目录下(包括子目录下)文件求教

[复制链接]
发表于 2014-4-21 22:30:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
求教各位大侠~我想读取目录下所有文件(包括子目下的),可是filter2子程序运行不出来,貌似是无法读取DHW目录,还请大侠帮忙看看是哪里写错了?多谢~

$getdata="D:\\Cp report\\FM309";
  $tmp=$getdata;
chomp($tmp);
  $localorremote="\\"; #用"\\" 代替"\",因为构成字符串时"\"为元字符,需要转义使用
   $tmp="$tmp$localorremote";  #链接构成子目录名"\abc\cde"

opendir DH,$tmp;   #把目录名按照文件方式打开
@dirs=readdir DH; #读入目录文件所有内容(文件名列表)?
closedir DH;
foreach(@dirs)
{#遍历文件名
     next if $_ eq "." or $_ eq ".."; #检查文件名是否为. 或者..,该二者分别代表上级目录和当前目录,不是真实文件名,跳过
     if (-d $tmp."\\".$_)
     {#使用perl的类shell功能属性,-d检查文件名是否为目录,-e检查文件名是否为文件,文件名由上级目录名遍历到的当前文件名构成
      $folder=$_;#若为子目录名,则进行下一级搜索
      @subdirs=glob $tmp."\\".$folder;   #glob 是一个文件操作符,提供一个类似文件查找的功能,支持通配符规则,这里搜索子目录下的所有文件列表
     foreach(@subdirs)
      {
       $tmp= $_;
   
        &filter2($tmp);
     
      }
     }
   }
sub filter2{
  $localorremote="\\"; #用"\\" 代替"\",因为构成字符串时"\"为元字符,需要转义使用
  $tmp="$tmp$localorremote";  #链接构成子目录名"\abc\cde"
opendir DHW,$tmp;   #把目录名按照文件方式打开
@dirw=readdir DHW; #读入目录文件所有内容(文件名列表)?
print @dirw;
closedir DHW;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-3-29 21:34 , Processed in 0.016857 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表