以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  [求助]判读指定路径的文件数和名  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=34388)

--  作者:8350
--  发布时间:2013/6/6 20:03:00
--  [求助]判读指定路径的文件数和名
因刚刚学习弧表,看到这个函数


返回一个字符集合,该集合包括指定目录下的所有文件名。

语法:

GetFiles(directory)

directory: 指定的目录,获得该目录下所有的文件名。

例如列出C盘根目录下所有的文件名:

For Each File As String In FileSys.GetFiles("C:\\")
    Output.Show(File)

Next



想请教以下问题:


能完成判读指定总文件夹下的(最好是可以选择任意路径)个子文件夹中的文件数量和文件名称,且对问题子文件夹名称和问题生成一个总得txt进行提示,请问怎么综合处理?

例如:A文件夹中有很多子文件夹  如001,002,003......,这些子文件夹001中均必须含有以下文件:(001分数表.els,001成绩表.els,001个人资料,001历年表现),002文件夹中含有((002分数表.els,002成绩表.els,002个人资料,002历年表现))依次类推003,004,005,006.......



生成一个txt错误提示文件,列出指定子文件夹名称后说明其中缺少什么资料,就可以了。



学习,请指教。。。。


--  作者:狐狸爸爸
--  发布时间:2013/6/6 20:10:00
--  

选择目录:

http://www.foxtable.com/help/topics/0359.htm

 

列出文件夹:

http://www.foxtable.com/help/topics/1413.htm

 

获得文件夹下的文件:

http://www.foxtable.com/help/topics/0341.htm

 

 

 


--  作者:8350
--  发布时间:2013/6/6 20:13:00
--  
怎么将得到的结果生成txt文件呢?

主要还是这段不太会???

能给一段样例或类似的代码我看看么?

--  作者:有点甜
--  发布时间:2013/6/6 20:40:00
--  
Dim s As String
For Each dr As String In filesys.GetDirectories("C:\\Foxtable")
    s = s & dr & ":" &  vbcrlf
    For Each f As String In filesys.GetFiles(dr)
        s = s & filesys.getname(f) & vbcrlf
    Next
    s = s & vbcrlf
Next
output.show(s)

--  作者:8350
--  发布时间:2013/6/6 20:46:00
--  
以下是引用狐狸爸爸在2013-6-6 20:10:00的发言:

选择目录:

http://www.foxtable.com/help/topics/0359.htm

 

列出文件夹:

http://www.foxtable.com/help/topics/1413.htm

 

获得文件夹下的文件:

http://www.foxtable.com/help/topics/0341.htm

 

 

 这些代码怎么串联呀,不会,简单的还行。变量的不停引用不会,还有就是楼上写的代码有点看不懂?vbcrlf是什么?


--  作者:有点甜
--  发布时间:2013/6/6 20:47:00
--  
在帮助搜索:vbcrlf
--  作者:8350
--  发布时间:2013/6/6 20:52:00
--  

由于换行符使用的频率很高,所以Visual Basic提供了一个常量vbcrlf,其值等于:Chr(13) & Chr(10)




能注释一下你写的代码么,刚学太深奥了,同时你能帮看看我提出的设想,能将贺总给的三个连接牵涉的代码帮我简单的组织一下各个代码示例么。



辛苦



--  作者:有点甜
--  发布时间:2013/6/6 20:56:00
--  

所有的都是帮助中的啊,这种代码看不懂,应该先去看三遍帮助文件的。

 

 

Dim s As String
For Each dr As String In filesys.GetDirectories("C:\\Foxtable") \'获得c:\\foxtable目录下的所有子目录
    s = s & dr & ":" &  vbcrlf  ‘子目录名合并到字符串s,后面加个换行
    For Each f As String In filesys.GetFiles(dr) ’获得子目录下的所有文件
        s = s & filesys.getname(f) & vbcrlf ‘文件名合并到字符串s,后面加个换行
    Next
    s = s & vbcrlf
Next
output.show(s)
  \'显示内容

 

 


--  作者:8350
--  发布时间:2013/6/6 21:05:00
--  
实在不好意思,确实刚学,想一边看帮助一边按想法实践,这些现在看懂了

但是我所说的问题这些只能完成部分工作,我主要想看看多种代码和变量之间怎么衔接和运用,确实分段执行我看帮助能懂一点,请多指教,辛苦


判读文件数量和名称且生成txt报告呢?

vb是可以的,例如:
*********542625201206JC00009缺少以下资料:*********
542625201206JC00009宗地草图.dwg
*********542625201206JC00010缺少以下资料:*********
542625201206JC00010宗地草图.dwg
*********542625201206JC00011缺少以下资料:*********
542625201206JC00011宗地草图.dwg
*********542625201206JC00012缺少以下资料:*********
542625201206JC00012宗地草图.dwg
*********542625201206JC00014缺少以下资料:*********
542625201206JC00014宗地草图.dwg
*********542625201206JC00020缺少以下资料:*********
542625201206JC00020.dwg
*********542625201206JC00022缺少以下资料:*********
542625201206JC00022宗地草图.dwg
*********542625201206JC00025缺少以下资料:*********
542625201206JC00025宗地草图.dwg
*********542625201206JC00026缺少以下资料:*********
542625201206JC00026宗地草图.dwg
*********542625201206JC00027缺少以下资料:*********
542625201206JC00027宗地草图.dwg
[此贴子已经被作者于2013-6-6 21:07:26编辑过]

--  作者:8350
--  发布时间:2013/6/13 11:30:00
--  
唉,我折腾了好几天,都没有能搞出来,估计我是没有搞懂。