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等等),不过个人认为这上面两种方法无疑简单许多.