| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 4490 人关注过本帖
标题:如何计算一个文件夹中的文件数?
只看楼主 加入收藏
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
 问题点数:0 回复次数:19 
如何计算一个文件夹中的文件数?
通过给出一个文件夹的路径,怎么能计算出里面的文件数?
只要总数就好了。
搜索更多相关主题的帖子: 文件夹 文件数 路径 总数 
2006-11-29 18:07
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
写个函数..查找这文件夹的文件就行.

我的msn: myfend@
2006-11-29 18:09
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
得分:0 
我在帮助里找了一下,查找返回的好象是路径,我是刚学,版主给详细点吧.

学习ING... 安静的阳台,抬头那一小片天空,自由自在唱属于自己的歌. 鬼鬼£小鬼 ++UU
2006-11-29 18:34
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
Option Explicit
Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long
Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long
Private Type FILETIME
dwLowDateTime As Long
dwHighDateTime As Long
End Type
Private Type WIN32_FIND_DATA
dwFileAttributes As Long
ftCreationTime As FILETIME
ftLastAccessTime As FILETIME
ftLastWriteTime As FILETIME
nFileSizeHigh As Long
nFileSizeLow As Long
dwReserved0 As Long
dwReserved1 As Long
cFileName As String * 255
cAlternate As String * 14
End Type

Private Sub cmdFindFiles_Click()
Dim wfd As WIN32_FIND_DATA
Dim isFindHandle As Long
Dim FileCount As Long
Dim Out As Long
Dim fileName As String
Out = True
isFindHandle = FindFirstFile("D:\vb\*", wfd)
If isFindHandle <> -1 Then

Do While Out
fileName = StripNulls(wfd.cFileName)

If fileName <> "." And fileName <> ".." Then
FileCount = FileCount + 1
List1.AddItem fileName
End If

Out = FindNextFile(isFindHandle, wfd)
Loop
End If

FindClose isFindHandle

MsgBox "D:\vb\中共有文件与文件夹数:" & FileCount
End Sub

Private Function StripNulls(OriginalStr As String) As String
If (InStr(OriginalStr, Chr(0)) > 0) Then
OriginalStr = Left(OriginalStr, InStr(OriginalStr, Chr(0)) - 1)
End If
StripNulls = OriginalStr
End Function


我的msn: myfend@
2006-11-29 19:12
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
得分:0 
谢谢,琢磨琢磨!

学习ING... 安静的阳台,抬头那一小片天空,自由自在唱属于自己的歌. 鬼鬼£小鬼 ++UU
2006-11-29 19:38
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
得分:0 
我把LISTBOX中显示为了每个文本的第一行,也就是题目,
但是在这句的时候:Line Input #3, t
老提示:输入超出文件尾,这是什么意思
只在打开D:\vb教程\vb-edu\VB-控制  这个文件夹的时候才会提示,其他文件夹正常

学习ING... 安静的阳台,抬头那一小片天空,自由自在唱属于自己的歌. 鬼鬼£小鬼 ++UU
2006-11-30 10:03
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
不太清楚..你的意思.

我的msn: myfend@
2006-11-30 10:05
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
得分:0 
就是运行的时候,提示:输入超出文件尾
而且是只在打开那个  D:\vb教程\vb-edu\VB-控制 文件夹中的文件的时候,才会提示

也就是不知道那个 提示到底是什么意思  是文件太长了,文本框放不下?还是?

学习ING... 安静的阳台,抬头那一小片天空,自由自在唱属于自己的歌. 鬼鬼£小鬼 ++UU
2006-11-30 10:10
purana
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:广东-广州
等 级:版主
威 望:66
帖 子:6039
专家分:0
注 册:2005-6-17
收藏
得分:0 
运行时怎么会出现超出文件尾?....
你怎么操作了?..


我的msn: myfend@
2006-11-30 10:14
eryiqingfan
Rank: 1
等 级:新手上路
威 望:2
帖 子:379
专家分:0
注 册:2006-8-15
收藏
得分:0 
If isFindHandle <> -1 Then

Do While Out
fileName = StripNulls(wfd.cFileName)

If fileName <> "." And fileName <> ".." Then
FileCount = FileCount + 1
Open Text1.Text & "\" & fileName For Input As #3
Line Input #3, t
Combo1.AddItem fileName & "题目:" & t
Close #3
End If

Out = FindNextFile(isFindHandle, wfd)
Loop
End If

就是运行到红色那里,会出现那个提示,
而且只有在打开 D:\vb教程\vb-edu\VB-控制\  这个文件夹的时候,才会提示

学习ING... 安静的阳台,抬头那一小片天空,自由自在唱属于自己的歌. 鬼鬼£小鬼 ++UU
2006-11-30 10:17
快速回复:如何计算一个文件夹中的文件数?
数据加载中...
 
   



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

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