vbs查找文件夹的子文件夹并将其保存在txt中

vbs查找文件夹的子文件夹并将其保存在txt中,第1张

So easy.

联合CMD就很灶野简单

src = "D:\" '要查找的文件

Set shell = CreateObject("WScript.Shell")

shell.Exec("cmd.exe /Q /C ""dir/s/b/ad """ & src & """ > a.txt""")

这样不算“犯规”吧,似乎没答到重点,不过写起来很简单也不错了。

“a.txt”是保存的txt文件,绝对路径或相对路径都行(老掉牙的说明了。。。)

借用CMD可以弥补VBS的缺陷:隐敏喊没有自带通配符搜索文件的功能,就算有也比较复杂。而借用CMD可以极大地避免写冗长的算法,代码简洁而有效。这里借用了CMD后就可以尽情发挥想象,想搜索多复杂匹拿埋配文件都可以,还可以把搜索到文件名传回VBS给VBS处理,只要

Set res = shell.Exec("...")

Do while res.Stdout.AtEndOfStream

    MsgBox res.Stdout.ReadLine

Loop

类似这样的方式就可以任意处理从CMD得到的结果

'清单滚举族

'1.获得文件夹大弊中的所有.txt文件

'2.将所有文件移动到E:盘'函数MoveTxtFiles(folderspec)

'parameter1 folderspec类型字符串 文件夹名Function MoveTxtFiles(folderspec)

Dim fso,fl,fs

Set fso=CreateObject("Scripting.FileSystemObject")

Set fl = fso.GetFolder(folderspec)

Set fs=fl.Files

for each f in fs

If SearchTxtFile("\.txt$",f.Name) Then

f.Move("E:\")

End If

next

Set fso=Nothing

End Function '函数SearchTxtFile(pattern,Fn) 匹配 文答链件扩展名

'parameter1 pattern 匹配模式 字符串类型

'parameter2 Fn 文件名 字符串类型

Function SearchTxtFile(pattern,Fn)

Dim regEx,Matches

Set regEx=new RegExp

regEx.Pattern = pattern

regEx.IgnoreCase = True

regEx.Global = True

Set Matches = regEx.Execute(Fn)

for each Match in Matches

SearchTxtFile=True

Exit Function

Next

SearchTxtFile=False

Set regEx=Nothing

End Function

MoveTxtFiles("C:\")


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12231508.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-22
下一篇 2023-05-22

发表评论

登录后才能评论

评论列表(0条)

保存