Board logo

标题: [已结]如何将c:所有的txt写进 a.txt.?(用 vbs 来完成) [打印本页]

作者: huzixuan     时间: 2007-4-8 00:14    标题: [已结]如何将c:所有的txt写进 a.txt.?(用 vbs 来完成)
如果用 vbs 来 遍历驱动器 c:
将 c:\ 的所有 txt 文本地址写进 a.txt ?
想看看 vbs 用什么样的办法可以完成?

谢谢

Last edited by huzixuan on 2007-4-11 at 06:23 AM ]

作者: huzixuan     时间: 2007-4-8 05:23
有人会吗?

作者: flyinspace     时间: 2007-4-8 06:00
你去看看欢乐时光病毒.

研究一下那个脚本就知道了。

作者: huzixuan     时间: 2007-4-10 23:51
搞不懂

作者: 3742668     时间: 2007-4-11 02:16
1.利用WMI:
Set oFSO = CreateObject("SCripting.FileSystemObject")
Set oFile = oFSO.OpenTextFile("a.txt",2,True)
For Each x In GetObject("winmgmts:").execquery("select * from CIM_DATAFILE where extension = 'txt' and drive = 'c:'")
oFile.WriteLine x.name
Next
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing

2,传统的Scripting.FileSystemObject对象:
Set oFSO = CreateObject("Scripting.FileSystemObject")
Set oFolder = oFSO.GetFolder("c:\")
Set oFile = oFSO.OpenTextFile("a.txt",2,True)
GetFileName oFolder
oFile.Close
Set oFile = Nothing
Set oFSO = Nothing


Sub GetFileName(oFolder)

For Each tmpFile In oFolder.Files
If LCase(Right(tmpFile.Name,4)) = ".txt" Then
oFile.WriteLine tmpFile.Path
End If
Next

For Each tmpFolder In oFolder.SubFolders
GetFileName(tmpFolder)
Next

End Sub


其他一些组件也能完成类似的功能(Shell.Application等等),不过个人认为这上面两种方法无疑简单许多.