logo资料库

一个用vbs查找硬盘所有分区中的指定程序的代码.pdf

第1页 / 共2页
第2页 / 共2页
资料共2页,全文预览结束
一个用一个用vbs查找硬盘所有分区中的指定程序的代码 查找硬盘所有分区中的指定程序的代码 用vbs实现可以查找指定扩展名的文件,方便大家搜索 On Error Resume Next '忽略所有错误 Dim filename '声明变量 Dim re Set re=New RegExp '建立正则表达式对象实例 re.Pattern="^([a-z]|[A-Z])+\:\\\w+\.vbs$" If re.Test(WScript.ScriptFullName)=False Then MsgBox "请在磁盘根目录下运行本程序,否则搜索结果可能会不正确!",,"MessageBox" WScript.Quit End If re.Pattern="^([A-Za-z0-9_]|[^\x00-\xff])+\.[a-zA-Z]{1,4}$" '声明正则表达式的匹配模式,主要用来检验用户输入的文件名是否 正确 Do filename=InputBox("请输入你要搜索的文件名:","MessageBox") If filename="" Then WScript.Quit '如果输入为空则退出脚本 If re.Test(filename)=False Then MsgBox "请输入合法的文件名!",,"MessageBox" End If Loop While re.Test(filename)=False '直到用户输入正确的文件名时才跳出循环。 Set re=Nothing Dim ie Set ie=WScript.CreateObject("internetexplorer.application") '建立IE对象,用来显示搜索状态 ie.menubar=0 '不显示IE对象菜单栏 ie.AddressBar=0 '不显示IE对象地址栏 ie.ToolBar=0 '不显示IE对象工具栏 ie.StatusBar=0 '不显示IE对象状态栏 ie.FullScreen=1 '全屏化IE对象 ie.Width=640 '设置IE对象宽度 ie.Height=120 '设置IE对象高度 ie.Resizable=0 '设置IE对象大小是否可以被改动 ie.Navigate "about:blank" '设置IE对象默认指向的页面 ie.Left=Fix((ie.Document.parentwindow.screen.availwidth-ie.Width)/2) '设置IE对象左边距 ie.top=Fix((ie.document.parentwindow.screen.availheight-ie.height)/2) '设置IE对象右边距 ie.visible=1 '设置IE对象是否可视 With ie.Document '以下为在IE对象中写入页面,跟一般的HTML没有区别 .write "" .write "" .write "文件扫描状态" .write "" .write "" .write "" .write "" .write "
" .write "
正在启动搜索程序。。。
" .write "
" .write "" .write "
" .write "" .write "" End With '定义文件系统对象变量 Dim fso Dim objfolder Dim objsubfolders Dim objsubfolder Dim objfiles
Dim objfile Dim objdrives Dim objdrive Dim objtextfile Dim str:str="" Dim i:i=0 '计数器变量 Dim result result="C:\搜索结果.html" '搜索结果保存文件变量 '一个过程,用来遍历硬盘文件 Function search(path) Set objfolder=fso.getfolder(path) '获得当前路径 Set objfiles=objfolder.Files '获得当前路径下的所有文件集合 For Each objfile In objfiles '开始遍历文件集合 ie.Document.getElementById("middle").innerHTML=objfile.Path '用到IE对象的文档对象模型,将当前搜索的文件路径写入 ID为middle的DIV中 If objfile.Name=filename Then '如果当前文件名与用户输入的文件名一致 i=i+1 '计数器加一 str=str & objfile.Path & "
" Set objtextfile=fso.OpenTextFile(result,2,True) '创建文本流对象,文件名为变量result所存储的字符串 objtextfile.Write(str) '将变量str中的文件路径写入html文件中 objtextfile.Close '关闭文本流对象 Set objtextfile=Nothing '销毁对象 End If If i>0 Then ie.Document.getElementById("header").innerHTML="找到 " & i & " 个匹配,详细信息已保存在 """ & result & """ 文件中。。 。" Else ie.Document.getElementById("header").innerHTML="正在执行文件搜索。。。" End If WScript.Sleep(20) Next Set objsubfolders=objfolder.SubFolders '得到当前路径下的所有文件夹的集合 For Each objsubfolder In objsubfolders '遍历文件夹 nowpath=path & "\" & objsubfolder.Name '得到新的文件路径 search nowpath '调用函数自身,从新的路径开始搜索 Next End Function Set fso=CreateObject("scripting.filesystemobject") Set objdrives=fso.Drives '取得当前计算机的所有磁盘驱动器 For Each objdrive In objdrives '遍历磁盘 search objdrive '调用函数 Next '结束时显示的信息 ie.Document.getElementById("header").innerHTML="扫描已结束。。。" If i>0 Then ie.Document.getElementById("middle").innerHTML="请打开 """ & result & """ 查看详细搜索结果!" Else ie.Document.getElementById("middle").innerHTML="没有找到要搜索的文件!" End If '销毁对象变量,释放内存空间 Set objdrives=Nothing Set objfiles=Nothing Set objfile=Nothing Set objdrive=Nothing Set objfolders=Nothing Set objfolder=Nothing Set objsubfolders=Nothing Set objsubfolder=Nothing Set fso=Nothing
分享到:
收藏