标题:adir 函数的遍历文件夹的取文件名
只看楼主
hero4587
Rank: 2
等 级:论坛游民
帖 子:20
专家分:10
注 册:2007-10-1
结帖率:100%
已结贴  问题点数:20 回复次数:5 
adir 函数的遍历文件夹的取文件名
adir 函数的遍历文件夹取出文件名,最近用这个函数,这个函数是不是不能取出包含子文件夹下的文件名。取出的文件名好像也包含后缀名。再一个是不是有数量限制。具体有什么解决办法吗。最好能给个实例。谢谢各位。
搜索更多相关主题的帖子: 取出 文件夹 文件名 遍历 函数 
2020-05-23 07:32
吹水佬
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:432
帖 子:10064
专家分:41463
注 册:2014-5-20
得分:5 
帮助文件有ADIR获取文件信息的详细说明
2020-05-23 08:30
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
ken3238
Rank: 1
等 级:新手上路
帖 子:28
专家分:5
注 册:2018-7-5
得分:5 
  之前我也遇到此問題,如下函数可以一試
     JUSTFNAME() && 从完整的路径和文件名中返回文件名部分。

     JustExt() &&从完整路径中返回文件扩展名的字符。



[此贴子已经被作者于2020-5-24 08:33编辑过]

2020-05-24 08:31
wengjl
Rank: 14Rank: 14Rank: 14Rank: 14
等 级:贵宾
威 望:108
帖 子:2175
专家分:3785
注 册:2007-4-27
得分:5 
也可以用AT函数据进行处理

只求每天有一丁点儿的进步就可以了
2020-05-25 09:53
qiuxingce
Rank: 2
等 级:论坛游民
帖 子:118
专家分:93
注 册:2014-1-17
得分:5 
去掉文件的后缀很简单啊,JUSTSTEM('C:\ABC.EXE') 返回结果ABC。
2020-05-25 15:50



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




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

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