标题: [求助](VBS)如何读取某个文件夹下所有文件并输出????
[打印本页]
作者: kich
时间: 2007-1-26 07:25
标题: [求助](VBS)如何读取某个文件夹下所有文件并输出????
请问:如何读取某个文件夹下所有文件并输出????
关于VBS操作文件的问题:
如何读取某个文件夹下的所有文件(或者所有某种格式的文件,比如txt),然后把这些文件列表再输出到一个该文件夹下的文本里???
求教,希望可以给我一段VBS代码!谢谢
ps:不知道这里能不能问VBS,要是问错地方了,不要骂啊.
因为我对VB了解点,所以研究VBS,研究起来比BAT轻松多了
作者: jmz573515
时间: 2007-1-26 07:53
批处理包括VBS吧,我想可以问,哈哈
作者: jmz573515
时间: 2007-1-26 08:07
功能:读取当前文件夹下的所有文件。
set ws=createobject("wscript.shell")
set fso=createobject("scripting.filesystemobject")
set folder=fso.getfolder(ws.currentdirectory)
set files=folder.files
for each file in files
s=s&file&vbcrlf
next
set file=fso.createtextfile("out.txt")
file.write s
file.close
ws.run "notepad.exe out.txt"
作者: zhclvip
时间: 2007-1-26 08:33
最好把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 ]
作者: jmz573515
时间: 2007-1-26 08:52
确实高明,欣赏~
作者: kich
时间: 2007-1-26 09:51
太厉害了,佩服啊!!
那再问一下,要是对这个文件进行文件过滤又应该怎么操作呢?
比如说只记录后缀为txt(或者mp3)这样的文件!
再有,就是文件夹还有文件夹,这样的情况处理是怎么样呢?用3楼代码会出现什么样的结果?
作者: kich
时间: 2007-1-26 10:34
还有,还想和文件名一行输出文件大小信息,这些大小信息数据要保证上下文都是对齐的(是不是用Tab()这函数?)那又改怎么做呢?
作者: zhclvip
时间: 2007-1-26 23:08
标题: 补充回答
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 ]
作者: kich
时间: 2007-1-27 10:02
vbTab 定位不是很好,对好所有的文件对应起来,这样好看一点