中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 05:35
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » [求助](VBS)如何读取某个文件夹下所有文件并输出????
可打印版本  997 / 8
第1楼 kich 发表于 2007-01-26 07:25
中级用户 发帖 168 积分 397
[求助](VBS)如何读取某个文件夹下所有文件并输出????
请问:如何读取某个文件夹下所有文件并输出????
关于VBS操作文件的问题:
如何读取某个文件夹下的所有文件(或者所有某种格式的文件,比如txt),然后把这些文件列表再输出到一个该文件夹下的文本里???
求教,希望可以给我一段VBS代码!谢谢

ps:不知道这里能不能问VBS,要是问错地方了,不要骂啊.
因为我对VB了解点,所以研究VBS,研究起来比BAT轻松多了
第2楼 jmz573515 发表于 2007-01-26 07:53
银牌会员 发帖 464 积分 1,212
批处理包括VBS吧,我想可以问,哈哈
第3楼 jmz573515 发表于 2007-01-26 08:07
银牌会员 发帖 464 积分 1,212
功能:读取当前文件夹下的所有文件。
第4楼 zhclvip 发表于 2007-01-26 08:33
初级用户 发帖 50 积分 138
最好把3楼的代码改写为自定义函数,这样使用更方便。
function list(fd)
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(fd)
set files=folder.files
for each efile in files
list=list & efile & vbcrlf
next
end function

还有一点:仅要文件名列表时,可以改为 list=list & efile.name & vbcrlf
否则efile就是efile.path,相同。

如果LZ要用BAT则有:
@echo off
dir /b >out.txt
start out.txt

[ Last edited by zhclvip on 2007-1-25 at 07:51 PM ]
第5楼 jmz573515 发表于 2007-01-26 08:52
银牌会员 发帖 464 积分 1,212
确实高明,欣赏~
第6楼 kich 发表于 2007-01-26 09:51
中级用户 发帖 168 积分 397
太厉害了,佩服啊!!

那再问一下,要是对这个文件进行文件过滤又应该怎么操作呢?
比如说只记录后缀为txt(或者mp3)这样的文件!

再有,就是文件夹还有文件夹,这样的情况处理是怎么样呢?用3楼代码会出现什么样的结果?
第7楼 kich 发表于 2007-01-26 10:34
中级用户 发帖 168 积分 397
还有,还想和文件名一行输出文件大小信息,这些大小信息数据要保证上下文都是对齐的(是不是用Tab()这函数?)那又改怎么做呢?
第8楼 zhclvip 发表于 2007-01-26 23:08
初级用户 发帖 50 积分 138
补充回答
function list(fd,ext)
'fd是文件夹路径
'ext是扩展名
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(fd)
set files=folder.files
for each efile in files
if instr(right(efile.name,4),ext) then _
list=list & efile.name & vbTab & efile.size & vbcrlf
next
end function

[ Last edited by zhclvip on 2007-1-26 at 10:10 AM ]
第9楼 kich 发表于 2007-01-27 10:02
中级用户 发帖 168 积分 397
vbTab 定位不是很好,对好所有的文件对应起来,这样好看一点
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023