标题:adir 函数的遍历文件夹的取文件名
取消只看楼主
hero4587
Rank: 2
等 级:论坛游民
帖 子:20
专家分:10
注 册:2007-10-1
结帖率:100%
已结贴  问题点数:20 回复次数:1 
adir 函数的遍历文件夹的取文件名
adir 函数的遍历文件夹取出文件名,最近用这个函数,这个函数是不是不能取出包含子文件夹下的文件名。取出的文件名好像也包含后缀名。再一个是不是有数量限制。具体有什么解决办法吗。最好能给个实例。谢谢各位。
搜索更多相关主题的帖子: 取出 文件夹 文件名 遍历 函数 
2020-05-23 07:32
hero4587
Rank: 2
等 级:论坛游民
帖 子:20
专家分:10
注 册:2007-10-1
得分:0 
回去研究了一下不知道 adir 怎么统计有子文件夹下的 文件名 在别的地方找到了一个 好像是stda大佬的  解决了这个问题 关键是 能把文件后缀名去掉吗 如果能去掉就更好了
TOPDIR = "   "&& 父文件夹
MDLEVE =1 && 父文件夹为第一层
CREATE cursor DIRSTRU (DLEVE N(8),DATTRIBUTE C(5),DNAME C(250) )
  INSERT INTO DIRSTRU VALUES (MDLEVE,"D",TOPDIR) && 将父文件夹添加到表中
DO WHILE .T.
   SELE * FROM DIRSTRU INTO CURSOR TMDIR WHERE DLEVE = MDLEVE &&读取第DLEVE层文件夹
   IF EOF()
      EXIT  && 若无下一层文件夹结束当前循环
   ENDIF
   SCAN  && 处理当前文件夹
      NCOUNT =ADIR(DIRARR, ALLTRIM(DNAME)+"\*.xls","DHS") && 当前文件夹下的子文件夹数量
      CDIR = ALLTRIM(DNAME)+"\" && 当前路径(文件夹)
      NFILE =ADIR(FILEARR, ALLTRIM(DNAME)+"\*.xls","AHRS") && 当前文件夹下的文件夹数量
      FOR I = 1 TO NCOUNT &&读取当前文件夹下的子文件夹
          IF "D"$ DIRARR(I,5) AND NOT INLIST(DIRARR(I,1),".","..")
             INSERT INTO DIRSTRU VALUES (MDLEVE+1,DIRARR(I,5),CDIR +DIRARR(I,1))
          ENDIF
      ENDFOR
      FOR J=1 TO NFILE && 读取当前文件夹下的文件
          INSERT INTO DIRSTRU VALUES (MDLEVE+1,FILEARR(J,5),JUSTFNAME(CDIR + FILEARR(J,1)))
      ENDFOR
   ENDSCAN
   MDLEVE = MDLEVE +1
ENDDO
SELE DIRSTRU
?RECCOUNT()
BROWSE
2020-05-23 20:43



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-501750-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105304 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved