文件和文件夹VBS脚本大全
VBS脚本中文件操作FSO大全
FSO============Set fso = CreateObject("Scripting.FileSystemObject")词句必须写上,FSO 对象模型包含在 Scripting 类型库中,要访问现有驱动器、文件或文件夹,则使用 FileSystemObject 对象中的适当的"get" 方法GetDriveGetFolderGetFileSet f1 = fso.GetFile("c:\test.txt")这样就有了句柄f1对于"create"方法,可创建文件和文件夹Set File = fso.CreateFolder("C:\MyTest")File 是返回的句柄一旦有了对象的句柄,就可以访问它的属性1:所有对象的属性AtEndOfLine 属性如if file.AtEndOfLine=true ……AtEndOfLine 属性只能应用于打开用来读取(:1)的TextStream 文件,在一行末尾为trueAtEndOfStream 属性如果文件指针位于 TextStream 文件的末尾,则返回 True;如果不是,则返回False。
Attributes 属性设置或返回文件或文件夹的属性。
AvailableSpace 属性返回指定的驱动器或网络共享上,可供用户使用的空间大小。
Column 属性返回 TextStream 文件中当前字符位置的列号。
CompareMode 属性设置并返回比较模式,用于比较 Dictionary 对象中的字符串关键字。
Count 属性返回集合或 Dictionary 对象中的项目数。
DateCreated 属性返回指定的文件或文件夹的创建日期和时间。
只读。
DateLastAccessed 属性返回指定的文件或文件夹上一次被访问的日期和时间。
DateLastModified 属性返回指定的文件或文件夹上一次被修改的日期和时间。
VBS脚本对象及方法
VBS脚本对象及方法
VBS由语句(Statement)和函数(Function)组成,因此几乎可以
实现任何功能,VBS可以利用ActiveX技术来调用程序,ActiveX是一种
在许多应用平台上使用的可重用组件,可以为许多不同类型的应用程序提
供组件。
一、VBS脚本对象:
1、WScript对象:提供对屏幕输出、警告框和选取文件夹框的支持。
2、FileSystemObject对象:提供了创建文件、目录、文件夹、删除
文件、检查文件是否存在、复制文件、移动文件等功能。
3、Dictionary对象:可以用来存储键/值对的集合,用来保存参数、数据结构或缓存文件中大量的数据。
6、ADO(ActiveX Data Objects)对象:提供了连接和操作数据库的
功能,可以实现访问数据库,运行查询,更新记录,执行存储过程,检查
连接状态等功能。
7、XMLDOM对象:允许应用程序访问XML文档,可以让VBS代码创建
和使用XML文档,或者从一个XML文档中提取数据。
几个超有价值的VBS脚本
几个超有价值的VBS脚本!2008-08-20 12:131、exe2swf工具用法:将exe格式的flash拖放在此vbs文件上,即可生成swf文件dim AsoR,FlashFileNameSet ArgObj = WScript.Argumentsdim PositionStart,OKed,Tag,EndSizePositionStart = 920000'flash 4的播放器的大致字节数EndSize = 8 'exe文件结尾字节数,其它版本可以设置为0 FlashFileName = ArgObj(0)'传递路径set AsoR=CreateObject("Adodb.Stream")AsoR.Mode=3AsoR.Type=1AsoR.Openset AsoW=CreateObject("Adodb.Stream")AsoW.Mode=3AsoW.Type=1AsoW.OpenAsoR.LoadFromFile(FlashFileName)OKed = truedim filesizefilesize = AsoR.sizeif filesize>PositionStart thenwhile OKedAsoR.Position = PositionStartTag = Bin2Str(AsoR.read(20))if instr(Tag,"0000000") >0 thenPositionStart = PositionStart + 1elsePositionStart = PositionStart + 20end ifif Tag = "00000000000000000708783" or Tag = "00000000000000000678783" thenOKed = falseend if'if PositionStart > filesize then' OKed = false'end ifwendelsemsgbox "文件错误"end ifPositionStart = PositionStart + 16'msgbox PositionStartAsoR.Position = PositionStartAsoW.write AsoR.read(filesize-int(PositionStart)-int(EndSize))'新文件名dim newFileName'newFileName = left(FlashFileName,len(FlashFileName)-4) & ".swf" newFileName = FlashFileName & ".swf"Set fso = CreateObject("Scripting.FileSystemObject")If (fso.FileExists(newFileName)) Thenoverwrite = msgbox(newFileName&" 已存在"& vbnewline &"要替换它吗?",308,"文件已经存在 - exe2swf脚本")if overwrite=6 thenAsoW.SaveToFile newFileName, 2elsemsgbox "操作被取消",0,"exe2swf脚本"end ifelseAsoW.SaveToFile newFileName, 1end ifAsoR.closeset AsoR=nothingAsoW.closeset AsoW=nothingFunction Bin2Str(Bin)Dim I, StrFor I=1 to LenB(Bin)clow=MidB(Bin,I,1)if ASCB(clow)<128 thenStr = Str & (ASCB(clow))elseI=I+1if I <= LenB(Bin) then Str = Str & (ASCW(MidB(Bin,I,1)&clow)) end ifNextBin2Str = StrEnd Function2、更改3389远程桌面端口Set WshShell=CreateObject("Wscript.Shell")Function Imput()imputport=InputBox("请输入一个端口号,注意:这个端口号目前不能被其它程序使用,否则会影响终端服务"," 更改终端端口号", "3389", 100, 100) If imputport<>"" ThenIf IsNumeric(imputport) ThenWshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tcp\PortNumber",imputport,"REG_DWORD" WshShell.RegWrite "HKLM\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp\PortNumber",imputport,"REG_DWORD" wscript.echo "操作成功"Else wscript.echo "输入出错,请重新输入"Imput()End IfElse wscript.echo "操作已经取消"End IfEnd FunctionImput()set WshShell=nothing3、黑人必会!强制杀进程!对付杀毒软件啊'备注:vbs强制关闭程序'防止出现错误On Error Resume Next'vbs代码开始----------------------------------------------sub Close_Process(ProcessName)On Error Resume Nextfor each ps ingetobject("winmgmts:\\.\root\cimv2:win32_process").instances_ '循环进程if Ucase()=Ucase(ProcessName) thenps.terminateend ifnextend subClose_Process("notepad.exe") ' notepad.exe是记事本程序的进程,你可以换成其他进程名字4、VBS脚本更换Windows Xp序列号ON ERROR RESUME NEXTDim VOL_PROD_KEYif Wscript.arguments.count<1 thenVOL_PROD_KEY =InputBox("使用说明:"&vbCr&vbCr&" 本程序将自动替换你当前 Windows 的序列号,通过微软验证完全正版。
vbs编程必背50个程序
VBS编程必背50个程序什么是VBS编程?VBS,全称为Visual Basic Scripting,是一种被广泛应用于Windows系统的脚本语言。
它基于Visual Basic,但语法更加简单且易于学习和使用。
VBS可以用于编写脚本文件,实现各种任务,如自动化任务、系统管理以及图形用户界面等。
为什么要掌握VBS编程?VBS编程是一种非常有用的技能,特别是对于那些需要在Windows环境中进行自动化和批量处理的人来说。
掌握VBS编程可以帮助你提高工作效率,简化重复的任务,并增加系统管理和故障排除的能力。
下面是50个VBS编程的示例程序:1. Hello WorldMsgBox "Hello World!"这个简单的程序会弹出一个对话框,显示“Hello World!”。
2. 计算器Dim num1, num2, resultnum1 = InputBox("请输入第一个数字:")num2 = InputBox("请输入第二个数字:")result = num1 + num2MsgBox "计算结果为:" & result这个程序会要求你输入两个数字,然后将它们相加并显示结果。
3. 遍历文件夹Set fso = CreateObject("Scripting.FileSystemObject")Set folder = fso.GetFolder("C:\Path\To\Folder")For Each file In folder.FilesMsgBox Next这个程序会遍历指定文件夹中的所有文件,并依次弹出每个文件名。
4. 创建文件Set fso = CreateObject("Scripting.FileSystemObject")Set file = fso.CreateTextFile("C:\Path\To\File.txt")file.WriteLine "Hello World!"file.Close这个程序会创建一个文本文件,并在其中写入“Hello World!”。
自动清理固定目录的文件及文件夹的VBS代码
自动清理固定目录的文件及文件夹的VBS代码说明:(1)可根据需要修改保留文件及目录的规则,再用任务计划定时执行delete3filex.vbs文件。
(2)注意修改文件前面目录定义:deletepath="D:\Public\" '----------[删除目录]-------根据实际情况更改ruletxtpath="D:\Share\ruletxt.txt" '----------[规则文件路径]------根据实际情况更改deltimetype="d" '--[判断类型]---- yyyy年q 季m 月y 一年的日数d 日w 一周的日数ww周h 时n 分钟s 秒deltimenum=3 '--[保留时间数]--------根据实际情况更改,当类型为天,则为3天。
logtxtname="D:\Share\del3daylog.txt" '[删除日志记录文件]--------根据实际情况更改operatelogtxt="D:\Share\operatelog.txt" '[运行日志记录文件]--------根据实际情况更改1、规则文件:ruletxt.txt内容(以下内容直接存于ruletxt.txt文件):会议资料,工作流程,端口,操作说明-XP版.doc,文件管理.pptAdministrator,jz.zhudll,sys,steup,HH,测试,不Aministrator,everyone,Everyone--------文件说明,以下内容请勿删除---------文件规则说明:第一行表示不删除的文件及文件夹的关键字第二行表示不删除的文件及文件夹的所有者2、规则文件:delete3filex.vbs代码内容(以下内容直接存于delete3filex.vbs文件):'vervion:V0910-1 //1.加入删除日志记录功能;2.删除目录存在判断;3.日志写入错误捕获'//20120831增加公用常量deletepath[删除目录] ruletxtpath[规则文件路径]'//20120828 /增加通过文件夹,文件的所有者来控制删除动作;'20120828/1.增加删除规则,规则由记事本文件ruletxt.tx定义,对文件夹和文件同时适用[也可考虑分别用不同的文件定义规则;'修改内内容:1.改写删除目录函数与删除文件函数2.说明:n表示分钟,h表示小时;'Last date 2012/08/15dim deletepath,ruletxtpath,deltimetype,deltimenum,logtxtname,operatelogtxtdeletepath="D:\Public\" '----------[删除目录]-------根据实际情况更改ruletxtpath="D:\Share\ruletxt.txt" '----------[规则文件路径]------根据实际情况更改deltimetype="d" '--[判断类型]---- yyyy年q 季m 月y 一年的日数d 日w 一周的日数ww周h 时n 分钟s 秒deltimenum=3 '--[保留时间数]--------根据实际情况更改logtxtname="D:\Share\del3daylog.txt" '[删除日志记录文件]--------根据实际情况更改operatelogtxt="D:\Share\operatelog.txt" '[运行日志记录文件]--------根据实际情况更改'-------------------------运行日志开始部分------------------on error resume next '打开错误捕获Set operatelogfso = CreateObject("Scripting.FileSystemObject")Set operateobjStream = operatelogfso.OpenTextFile(operatelogtxt,8,true)'打开文件,不存在则创建if Err.number<>0 then '错误说明'WScript.Echo "运行日志文件不存在!"Wscript.quitErr.clear '清除err对象的内容end ifoperateobjStream.WriteLine("---------------------------------------------------------") operateobjStream.WriteLine(now()&" 程序开始执行!")'------------删目录---------------Function DeleteFolder()operateobjStream.WriteLine(now()&" 判断目录删除开始!")Dim objFSO,objFolder,strPath,targetFSO,subFSO,DirPathDirPath = deletepath'DirPath = "C:\Temp\Temp\"Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FolderExists(DirPath) ThenoperateobjStream.WriteLine(now()&" 删除目录存在!")'WScript.Echo "删除目录存在!"elseoperateobjStream.WriteLine(now()&" 删除目录不存在,程序执行结束!") 'WScript.Echo "删除不目录存在!"Wscript.quitEnd IfSet targetFSO = objFSO.GetFolder(DirPath)Set subFSO = targetFSO.SubFolders''WScript.Echo "2!"For Each subFolder in subFSOoperateobjStream.WriteLine(now()&" 取得所有目录名!")'If DateDiff("n",subFolder.DateCreated,now)>1 ThenIf DateDiff(deltimetype,subFolder.DateCreated,now)>deltimenum Then operateobjStream.WriteLine(now()&" 对大于某时间的目录进行删除目录条件判断开始!")'-----读取规则文件dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("D:\Share\Public\ruletxt.txt",1,true)'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取关键字规则成功!规则是:["&txtbookline&"]")end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)operateobjStream.WriteLine(now()&" 关键字规则判断开始!")fori=0 to uBound(txtbookline1)ifInStr(1,,txtbookline1(i))>0 thendelfieleID="false"Exit forelseend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合关键字删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合关键字删除规则!")end ifoperateobjStream.WriteLine(now()&" 关键字规则判断结束!")'-----规则遍历结束,满足条件已删除operateobjStream.WriteLine(now()&" 目录所有者规则判断开始!")'--------------------------判断文件夹所有者开始-------------'dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志'delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组objWorkbook.SkipLine() '跳过第一行ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取所有者规则成功!规则是!["&txtbookline&"]") end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)'取得将要删除文件夹的所有者dimstrFileName,FileOwnerstrFileName = DirPath& '完整路径名Set objWMIService = GetObject("winmgmts:")Set objFileSecuritySettings = _objWMIService.Get("Win32_LogicalFileSecuritySetting='" &strFileName& "'")intRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)If intRetVal = 0 Then''WScript.Echo "Owner: " &objSD.Owner.Domain& "\" &FileOwner=Else''WScript.Echo "Couldn't retrieve security descriptor."FileOwner=""End Iffori=0 to uBound(txtbookline1)ifInStr(1,FileOwner,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合目录所有者删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合目录所有者删除规则!")end ifoperateobjStream.WriteLine(now()&" 目录所有者规则判断结束!")'--------------------------判断文件夹所有者结束,特定所有者不删除-----------ifdelfieleID="true" thenstrPath = DirPath&'WScript.Echo '------日志记录开始-----'三个参数的分别为:以只读模式打开文件、以只写方式打开文件、打开文件并在文件末尾进行写操作'ConstintForReading = 1,intForWriting = 2,intForAppending = 8on error resume next '打开错误捕获dimstrText,intForAppendingintForAppending=8strText="已删除目录:"&now()&" "&FileOwner&" "&Set logfso = CreateObject("Scripting.FileSystemObject")Set objStream = logfso.OpenTextFile(logtxtname,intForAppending,true)'打开文件,不存在则创建objStream.WriteLine(strText)objStream.CloseSet logfso = nothingSet objStream = nothingif Err.number<>0 then '错误说明'WScript.Echo "写入日志失败!"operateobjStream.WriteLine(now()&" ["&&"] 目录删除日志写入失败,停止程序运行!")Wscript.quitErr.clear '清除err对象的内容elseoperateobjStream.WriteLine(now()&" ["&&"] 目录删除日志写入成功!")'WScript.Echo "日志写入成功!"end if'------日志记录结束-----objFSO.DeleteFolder(strPath)operateobjStream.WriteLine(now()&" ["&&"] 目录删除成功!")'WScript.Echo "文件夹删除成功!"elseoperateobjStream.WriteLine(now()&" ["&&"] 目录不能删除!") 'WScript.Echo &" 文件夹不能删除!"end if'strPath = DirPath&''WScript.EchostrPath''WScript.Echo "4!"'objFSO.DeleteFolder(strPath)''WScript.Echo "5!"End IfNextoperateobjStream.WriteLine(now()&" 对大于某时间的目录进行删除目录条件判断结束!")End Function'------------删文件------------------Function DeleteFile()operateobjStream.WriteLine(now()&" 判断文件删除开始!")Dim objFSO,objFolder,strPath,targetFSO,subFSO,DirPathDirPath = deletepath'DirPath = "C:\Temp\Temp\"Set objFSO = CreateObject("Scripting.FileSystemObject")If objFSO.FolderExists(DirPath) ThenoperateobjStream.WriteLine(now()&" 删除目录存在!")'WScript.Echo "删除目录存在!"elseoperateobjStream.WriteLine(now()&" 删除目录不存在,程序执行结束!") 'WScript.Echo "删除不目录存在!"Wscript.quitEnd IfSet targetFSO = objFSO.GetFolder(DirPath)Set subFSO = targetFSO.FilesoperateobjStream.WriteLine(now()&" 取得所有文件名!")''WScript.Echo "12!"For Each subFiles in subFSOoperateobjStream.WriteLine(now()&" 对大于某时间的文件进行删除文件条件判断开始!")''WScript.Echo "13!"'If DateDiff("n",subFolder.DateCreated,now)>1 ThenIf DateDiff(deltimetype,subFiles.DateCreated,now)>deltimenum Then'-----------------读取规则文件------------------------dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("D:\Share\Public\ruletxt.txt",1,true)'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取关键字规则成功!规则是:["&txtbookline&"]")end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)fori=0 to uBound(txtbookline1)ifInStr(1,,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合关键字删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合关键字删除规则!")end ifoperateobjStream.WriteLine(now()&" 关键字规则判断结束!")'-------------------规则遍历结束,满足条件已删除--------------------operateobjStream.WriteLine(now()&" 文件所有者规则判断开始!")'--------------------------判断文件所有者开始-------------'dim objtxt,objWorkbook,txtbookline,txtbookline1,delfieleID 'delfieleID表示删除标志'delfieleID="true" '默认是允许删除Set objtxt=CreateObject("Scripting.FileSystemObject")'Set objWorkbook=objtxt.OpenTextFile("E:\ruletxt.txt",1,true)Set objWorkbook=objtxt.OpenTextFile(ruletxtpath,1,true)'txtbookline=Trim(Split(Trim(objWorkbook.ReadLIne),"|")) 'Split返回一个一维数组objWorkbook.SkipLine() '跳过第一行ifobjWorkbook.AtEndOfStream<>true thentxtbookline=objWorkbook.ReadLIneoperateobjStream.WriteLine(now()&" 读取所有者规则成功!规则是!["&txtbookline&"]") end iftxtbookline1=Split(txtbookline,",")'WScript.Echotxtbookline'WScript.EchouBound(txtbookline1)'取得将要删除文件的所有者dimstrFileName,FileOwnerstrFileName = DirPath& '完整路径名Set objWMIService = GetObject("winmgmts:")Set objFileSecuritySettings = _objWMIService.Get("Win32_LogicalFileSecuritySetting='" &strFileName& "'")intRetVal = objFileSecuritySettings.GetSecurityDescriptor(objSD)If intRetVal = 0 Then''WScript.Echo "Owner: " &objSD.Owner.Domain& "\" &FileOwner=Else''WScript.Echo "Couldn't retrieve security descriptor."FileOwner=""End Iffori=0 to uBound(txtbookline1)ifInStr(1,FileOwner,txtbookline1(i))>0 thendelfieleID="false"Exit forend ifnextobjWorkbook.CloseifdelfieleID="true" thenoperateobjStream.WriteLine(now()&" ["&&"] 符合文件所有者删除规则!")elseoperateobjStream.WriteLine(now()&" ["&&"] 不符合文件所有者删除规则!")end ifoperateobjStream.WriteLine(now()&" 文件所有者规则判断结束!")'--------------------------判断文件所有者结束,特定所有者不删除-----------ifdelfieleID="true" thenstrPath = DirPath&'WScript.Echo '------日志记录开始-----'三个参数的分别为:以只读模式打开文件、以只写方式打开文件、打开文件并在文件末尾进行写操作'ConstintForReading = 1,intForWriting = 2,intForAppending = 8on error resume next '打开错误捕获dimstrText,intForAppendingintForAppending=8strText="已删除文件:"&now()&" "&FileOwner&" "&Set logfso = CreateObject("Scripting.FileSystemObject")Set objStream = logfso.OpenTextFile(logtxtname,intForAppending,true)'打开文件,不存在则创建objStream.WriteLine(strText)objStream.CloseSet logfso = nothingSet objStream = nothingif Err.number<>0 then '错误说明operateobjStream.WriteLine(now()&" ["&&"] 文件删除日志写入失败,停止程序运行!")'WScript.Echo "写入日志失败!"Wscript.quitErr.clear '清除err对象的内容elseoperateobjStream.WriteLine(now()&" ["&&"] 文件删除日志写入成功!") 'WScript.Echo "日志写入成功!"end if'------日志记录结束-----objFSO.DeleteFile(strPath)operateobjStream.WriteLine(now()&" ["&&"] 文件删除成功!") 'WScript.Echo "文件删除成功!"elseoperateobjStream.WriteLine(now()&" ["&&"] 文件不能删除!") 'WScript.Echo &" 文件不能删除!"end if'strPath = DirPath&''WScript.EchostrPath''WScript.Echo "14!"'objFSO.DeleteFile(strPath)''WScript.Echo "15!"End IfNextSet objFSO = nothingSet targetFSO = nothingSet subFSO = nothingEnd FunctionCall DeleteFolder()Call DeleteFile()operateobjStream.WriteLine(now()&" 程序执行完成!") operateobjStream.WriteLine("---------------------------------------------------------") setoperatelogfso = nothingsetoperateobjStream = nothing。
vbs 用法
vbs 用法vbs 用法VBS(Visual Basic Script)是一种常用的脚本语言,通常用于编写Windows操作系统的脚本和宏。
它具有简单易懂、灵活性强的特点,可用于自动化任务、系统管理、数据处理等方面。
以下是一些常见的vbs用法及其详细解释:文件操作•创建文件夹:Dim fsoSet fso = CreateObject("")"C:\NewFolder"使用FileSystemObject对象的CreateFolder方法可以创建指定路径下的文件夹。
•复制文件:Dim fsoSet fso = CreateObject("")"C:\", "C:\"使用FileSystemObject对象的CopyFile方法可以复制文件到指定目标路径。
•删除文件:Dim fsoSet fso = CreateObject("")"C:\"使用FileSystemObject对象的DeleteFile方法可以删除指定路径下的文件。
字符串处理•字符串连接:Dim str1, str2, resultstr1 = "Hello"str2 = " World"result = str1 & str2MsgBox result使用&符号可以将两个字符串连接起来,生成新的字符串。
•字符串查找:Dim str, positionstr = "Hello World"position = InStr(str, "World")MsgBox position使用InStr函数可以在一个字符串中查找另一个字符串,并返回其位置。
•字符串替换:Dim strstr = "Hello World"str = Replace(str, "World", "VBS")MsgBox str使用Replace函数可以将字符串中的某个子串替换为新的字符串。
vbs搜索文件名或者得到目录列表
vbs搜索文件名或者得到目录列表'把网上的一个小程序改得方便了点,这个搜索次效率很好。
on error resume nextDim keyWord, DirTotal, TimeSpend, FileTotal, Fso, outFile, txtResult, txtPath, sPathConst MY_COMPUTER = &H11&Const WINDOW_HANDLE = 0Const OPTIONS = 0Set objShell = CreateObject('Shell.Application')Set objFolder = space(My_Computer)Set objFolderItem = objFolder.SelfstrPath = objFolderItem.PathSet objFolder = objShell.BrowseForFolder(WINDOW_HANDLE, '选择你要搜索的文件夹:', OPTIONS, strPath)If objFolder Is Nothing Thenmsgbox '您没有选择任何有效目录!'wscript.quitelseSet objFolderItem = objFolder.SelfsPath = objFolderItem.Pathtxtpath=sPathSet Fso = wscript.CreateObject('scripting.filesystemobject')FileTotal = 0DirTotal = 0'sPath =left(Wscript.ScriptFullName,len(Wscript.ScriptFullName)-len(Wscript.ScriptName))'txtPath = trim(inputbox('你选的目录是'&sPath,'文件搜索',sPath))keyWord = LCase(inputbox('请输入搜索关键字点Cancel的话会得到目录列表:','文件搜索','mp3'))set outFile = Fso.createtextfile(sPath & '\SearchResult.txt')outFile.writeline '开始搜索...'outFile.writeline '起启目录:' & txtPathTimeSpend = TimermyFind txtPathTimeSpend = round(Timer - TimeSpend,2)txtResult = '搜索完成!' & vbCrLf & '共找到文件:' & FileTotal & '个.' & vbCrLf & '共搜索目录:' & DirTotal & '个.' & vbCrLf & '用时:' & TimeSpend & '秒.'outFile.write txtResultmsgbox txtResult &'结果保存在'&sPath &'\SearchResult.txt'outFile.closeset outFile = nothingset Fso = nothingSub myFind(ByVal thePath)Dim fso, myFolder, myFile, curFolderSet fso = wscript.CreateObject('scripting.filesystemobject') Set curFolders = fso.getfolder(thePath)DirTotal = DirT otal 1If curFolders.Files.Count > 0 ThenFor Each myFile In curFolders.FilesIf InStr(1, LCase(), keyWord) > 0 ThenoutFile.WriteLine FormatPath(thePath) & '\' & FileTotal = FileT otal 1End IfNextEnd IfIf curFolders.subfolders.Count > 0 ThenFor Each myFolder In curFolders.subfoldersmyFind FormatPath(thePath) & '\' & NextEnd IfEnd SubFunction FormatPath(ByVal thePath)thePath = Trim(thePath)FormatPath = thePathIf Right(thePath, 1) = '\' Then FormatPath = Mid(thePath, 1, Len(thePath) - 1)End FunctionEnd if====================================== =================================附件:关于打开目录的方面:Private Const CSIDL_DESKTOP = &H0 'Private Const CSIDL_INTERNET = &H1 ' Internet Explorer (icon on desktop)Private Const CSIDL_PROGRAMS = &H2 ' Start Menu\ProgramsPrivate Const CSIDL_CONTROLS = &H3 ' My Computer\Control PanelPrivate Const CSIDL_PRINTERS = &H4 ' My Computer\PrintersPrivate Const CSIDL_PERSONAL = &H5 ' My DocumentsPrivate Const CSIDL_FAVORITES = &H6 ' \FavoritesPrivate Const CSIDL_STARTUP = &H7 ' Start Menu\Programs\StartupPrivate Const CSIDL_RECENT = &H8 ' \RecentPrivate Const CSIDL_SENDTO = &H9 ' \SendToPrivate Const CSIDL_BITBUCKET = &HA ' \Recycle BinPrivate Const CSIDL_STARTMENU = &HB ' \Start MenuPrivate Const CSIDL_MYDOCUMENTS = &HC ' logical 'My Documents' desktop iconPrivate Const CSIDL_MYMUSIC = &HD ' 'My Music' folderPrivate Const CSIDL_MYVIDEO = &HE ' 'My Videos' folderPrivate Const CSIDL_DESKTOPDIRECTORY = &H10 ' \DesktopPrivate Const CSIDL_DRIVES = &H11 ' My ComputerPrivate Const CSIDL_NETWORK = &H12 ' Network Neighborhood (My Network Places)Private Const CSIDL_NETHOOD = &H13 ' \nethoodPrivate Const CSIDL_FONTS = &H14 ' windows\fontsPrivate Const CSIDL_TEMPLATES = &H15Private Const CSIDL_COMMON_STARTMENU = &H16 ' All Users\Start MenuPrivate Const CSIDL_COMMON_PROGRAMS = &H17 ' All Users\Start Menu\ProgramsPrivate Const CSIDL_COMMON_STARTUP = &H18 ' All Users\StartupPrivate Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19 ' All Users\DesktopPrivate Const CSIDL_APPDATA = &H1A ' \Application Data Private Const CSIDL_PRINTHOOD = &H1B ' \PrintHoodPrivate Const CSIDL_LOCAL_APPDATA = &H1C ' \Local Settings\Applicaiton Data (non roaming)Private Const CSIDL_ALTSTARTUP = &H1D ' non localized startupPrivate Const CSIDL_COMMON_ALTSTARTUP = &H1E ' non localized common startupPrivate Const CSIDL_COMMON_FAVORITES = &H1FPrivate Const CSIDL_INTERNET_CACHE = &H20 'TEMPORARY INTERNET FILESPrivate Const CSIDL_COOKIES = &H21Private Const CSIDL_HISTORY = &H22Private Const CSIDL_COMMON_APPDATA = &H23 ' All Users\Application DataPrivate Const CSIDL_WINDOWS = &H24 'GetWindowsDirectory()Private Const CSIDL_SYSTEM = &H25 ' GetSystemDirectory() Private Const CSIDL_PROGRAM_FILES = &H26 ' C:\Program FilesPrivate Const CSIDL_MYPICTURES = &H27 ' C:\Program Files\My PicturesPrivate Const CSIDL_PROFILE = &H28 ' USERPROFILEPrivate Const CSIDL_SYSTEMX86 = &H29 ' x86 system directory on RISCPrivate Const CSIDL_PROGRAM_FILESX86 = &H2A ' x86 C:\Program Files on RISCPrivate Const CSIDL_PROGRAM_FILES_COMMON = &H2B ' C:\Program Files\CommonPrivate Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C ' x86 Program Files\Common on RISCPrivate Const CSIDL_COMMON_TEMPLATES = &H2D ' All Users\Templates_Private Const CSIDL_COMMON_DOCUMENTS = &H2E ' All Users\DocumentsPrivate Const CSIDL_COMMON_ADMINTOOLS = &H2F ' All Users\Start Menu\Programs\Administrative ToolsPrivate Const CSIDL_ADMINTOOLS = &H30 ' \Start Menu\Programs\Administrative ToolsPrivate Const CSIDL_CONNECTIONS = &H31 ' Network and Dial-up ConnectionsPrivate Const CSIDL_COMMON_MUSIC = &H35 ' All Users\My MusicPrivate Const CSIDL_COMMON_PICTURES = &H36 ' All Users\My PicturesPrivate Const CSIDL_COMMON_VIDEO = &H37 ' AllUsers\My VideoPrivate Const CSIDL_RESOURCES = &H38 ' Resource DirecotryPrivate Const CSIDL_RESOURCES_LOCALIZED = &H39 ' Localized Resource DirecotryPrivate Const CSIDL_COMMON_OEM_LINKS = &H3A ' Links to All Users OEM specific appsPrivate Const CSIDL_CDBURN_AREA = &H3B ' USERPROFILE\Local Settings\Application Data\Microsoft\CD BurningPrivate Const CSIDL_COMPUTERSNEARME = &H3D ' Computers Near Me (computered from Workgroup membership) Private Const CSIDL_FLAG_CREATE = &H8000 ' combine with CSIDL_ value to force folder creation in SHGetFolderPath() Private Const CSIDL_FLAG_DONT_VERIFY = &H4000 ' combine with CSIDL_ value to return an unverified folder path Private Const CSIDL_FLAG_NO_ALIAS = &H1000 ' combine with CSIDL_ value to insure non-alias versions of the pidl Private Const CSIDL_FLAG_PER_USER_INIT = &H800 ' combine with CSIDL_ value to indicate per-user init (eg. upgrade) Private Const CSIDL_FLAG_MASK = &HFF00 ' mask for all possible flag values====================================== =======================================。
常用VBS代码
常用VBS代码1.VBS获取路径集合1.1.VBS获取系统安装路径程序代码set WshShell = WScript.CreateObject("WScript.Shell")strWinDir = WshShell.ExpandEnvironmentStrings("%WinDir%")上面的代码意思是先定义这个变量是获取系统安装路径的,然后我们用"&strWinDir&"调用这个变量。
1.2.C:\Program Files路径程序代码msgbox CreateObject("WScript.Shell").ExpandEnvironmentStrings("%ProgramFiles%")1.3.C:\Program Files\Common Files路径程序代码msgboxCreateObject("WScript.Shell").ExpandEnvironmentStrings("%CommonProgramFiles%")2.给桌面添加网址快捷方式程序代码set gangzi = WScript.CreateObject("WScript.Shell")strDesktop = gangzi.SpecialFolders("Desktop")set oShellLink = gangzi.CreateShortcut(strDesktop & "\Internet Explorer.lnk") oShellLink.TargetPath = ""oShellLink.Description = "Internet Explorer"oShellLink.IconLocation = "%ProgramFiles%\Internet Explorer\iexplore.exe, 0" oShellLink.Save3.给收藏夹添加网址程序代码Const ADMINISTRATIVE_TOOLS = 6Set objShell = CreateObject("Shell.Application")Set objFolder = space(ADMINISTRATIVE_TOOLS)Set objFolderItem = objFolder.SelfSet objShell = WScript.CreateObject("WScript.Shell")strDesktopFld = objFolderItem.PathSet objURLShortcut = objShell.CreateShortcut(strDesktopFld & "\小游戏网站.url") objURLShortcut.TargetPath = "/?ie"objURLShortcut.Save4.删除指定目录指定后缀文件程序代码On Error Resume NextSet fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFile "C:\*.vbs", TrueSet fso = Nothing上面代码为删除C盘根目录下后缀为vbs的文件5.VBS改主页程序代码Set oShell = CreateObject("WScript.Shell")oShell.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main\Start Page",""6.VBS加启动项程序代码Set oShell=CreateObject("Wscript.Shell")oShell.RegWrite "HKLM\Software\Microsoft\Windows\CurrentVersion\Run\cmd","cmd.exe"7.VBS复制自己程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile(wscript.scriptfullname).copy("c:\huan.vbs")复制自己到C盘的huan.vbs程序代码set copy1=createobject("scripting.filesystemobject")copy1.getfile("game.exe").copy("c:\gangzi.exe")复制本vbs目录下的game.exe文件到c盘的gangzi.exe8.VBS获取系统临时目录程序代码Dim fsoSet fso = CreateObject("Scripting.FileSystemObject")Dim tempfolderConst TemporaryFolder = 2Set tempfolder = fso.GetSpecialFolder(TemporaryFolder)Wscript.Echo tempfolder9.就算代码出错依然继续执行程序代码On Error Resume Next10.VBS打开网址程序代码Set objShell = CreateObject("Wscript.Shell")objShell.Run("/")11.VBS发送邮件程序代码NameSpace = "/cdo/configuration/"Set Email = CreateObject("CDO.Message")Email.From = "发件@"Email.To = "收件@"Email.Subject = "Test sendmail.vbs"Email.Textbody = "OK!"Email.AddAttachment "C:\1.txt"With Email.Configuration.Fields.Item(NameSpace&"sendusing") = 2.Item(NameSpace&"smtpserver") = "smtp.邮件服务器.com".Item(NameSpace&"smtpserverport") = 25.Item(NameSpace&"smtpauthenticate") = 1.Item(NameSpace&"sendusername") = "发件人用户名".Item(NameSpace&"sendpassword") = "发件人密码".UpdateEnd WithEmail.Send12.VBS结束进程程序代码strComputer = "."Set objWMIService = GetObject _("winmgmts:\\" & strComputer & "\root\cimv2")Set colProcessList = objWMIService.ExecQuery _("Select * from Win32_Process Where Name = 'Rar.exe'")For Each objProcess in colProcessListobjProcess.Terminate()Next13.VBS隐藏打开网址13.1.部分浏览器无法隐藏打开,而是直接打开,适合主流用户使用程序代码createObject("wscript.shell").run "iexplore /",013.2.兼容所有浏览器,使用IE的绝对路径+参数打开,无法用函数得到IE安装路径,只用函数得到了Program Files路径,应该比上面的方法好,但是两种方法都不是绝对的。
VBS对文件夹操作
VBS对文件夹操作注册regsvr32.exe %windir%/system32/scrrun.dll”//第一个问题你的FSO可能没注册,你在“开始”---“运行”中输入“regsvr32.exe %windir%/system32/scrrun.dll”然后回车,重新注册一下FSO控件。
//=====================<VBS对文件夹操作例子>(1)创建文件夹Dim fso, f'如果指定的文件夹已经存在,则会出现错误。
Set fso = CreateObject("Scripting.FileSystemObject")Set f = fso.CreateFolder("c:\New Folder")复制代码(2)删除文件夹Dim fso,filespecfilespec="D:\电影" '要删除的文件夹路径Set fso = CreateObject("Scripting.FileSystemObject")fso.DeleteFolder(filespec)'若删除只读文件夹则将上一行改为fso.DeleteFolder(filespec,true)复制代码(3)判断文件夹是否存在Dim fso,msg,ttSet fso = CreateObject("Scripting.FileSystemObject")fldr="C:\Documents and Settings" '文件夹路径和名字tt = fso.FolderExists(fldr) '存在返回true;不存在返回falseIf tt=true Thenmsg = fldr & " 存在。
vbs编程必背50个程序
vbs编程必背50个程序VBS编程必背50个程序VBScript是一种脚本语言,用于在Windows环境下编写脚本。
VBScript是Visual Basic的轻量级版本,它可以作为Active Server Pages(ASP)中的服务器端脚本使用,并且可以与其他Microsoft ActiveX控件一起使用。
下面将介绍50个必备的VBScript程序。
一、基础语法1. 输出Hello World2. 声明变量并输出3. 输入输出4. 运算符使用5. 判断语句if...else6. 循环语句for...next7. 循环语句do...loop until8. 循环语句while...wend9. 多重选择switch...case二、文件操作10. 创建文件并写入文本内容11. 读取文件内容并输出到屏幕上12. 复制文件到指定目录下13. 移动文件到指定目录下14. 删除指定文件或目录下所有文件和子目录(递归删除)15. 获取指定路径下所有文件和子目录的名称列表(递归获取)16. 获取指定路径下所有符合条件的文件名称列表(递归获取)17. 打开指定文件进行编辑或查看(调用外部程序打开)18. 打开指定网址进行浏览(调用浏览器打开)19. 压缩指定目录为zip格式文件20. 解压指定zip格式文件到指定目录下三、字符串操作21. 字符串长度计算22. 字符串比较(区分大小写和不区分大小写)23. 字符串替换24. 字符串截取(从指定位置开始截取指定长度的子字符串)25. 字符串查找(返回第一次出现的位置)26. 字符串转换为小写或大写形式27. 去除字符串左侧或右侧的空格或制表符28. 分割字符串为数组(根据指定分隔符进行拆分)29. 合并数组为字符串(根据指定连接符进行合并)四、日期时间操作30. 获取当前日期和时间信息31. 获取当前日期信息(年、月、日)32. 获取当前时间信息(时、分、秒、毫秒)33. 将日期时间转换为字符串形式输出34. 将字符串形式的日期时间转换为Date类型变量35. 计算两个日期之间的天数差异36. 计算两个日期之间的小时数差异37. 计算两个日期之间的分钟数差异38. 计算两个日期之间的秒数差异39. 在当前时间基础上增加指定天数、小时数、分钟数或秒数后输出新的日期时间信息。
文件和文件夹VBS脚本大全
创建文件夹
描述
演示脚本使用 FileSystemObject 创建一个文件夹。此脚本必须运行在本地计算机上。
脚本代码
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFolder = objFSO.CreateFolder("C:\FSO")
errReturn = objNewShare.Create _
("C:\Finance", "FinanceShare", FILE_SHARE, _
MAXIMUM_CONNECTIONS, "Public share for the Finance
group.")
Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.MoveFile "C:\FSO\ScriptLog.log" , "D:\Archive"
通过日期查找文件夹
描述
查找在 2002 年 3 月 1 日之后创建的所有文件。要修改此脚本,您必须修改赋给变量 dtmTargetDate 的值中的下列项:
objFile.Close
objFSO.DeleteFile(strFullName)
创建网络共享
描述
创建一个名为 FinanceShare 的共享文件夹,将同时连接的最大数量设置为25,然后添加共享描述。
脚本代码
Const FILE_SHARE = 0
Const MAXIMUM_CONNECTIONS = 25
VBS读写文件及创建、删除文件
VBS读写文件及创建、删除文件set fso=createobject("scripting.filesystemobject")set zsc=createobject("scripting.dictionary")if (fso.fileexists("a.txt")) then'打开文件,参数1为forreading,2为forwriting,8为appendingset file=fso.opentextfile("a.txt",1,ture)else'创建文件,参数1为forreading,2为forwriting,8为appendingset file=fso.createtextfile( "a.txt",2,ture)'写入文件内容,有三种方法:write(x)写入x个字符,writeline写入换行,writeblanklines(n)写入n个空行file.writeline "welcome!"file.writeline "thanks!"set file=fso.opentextfile("a.txt",1,ture)end if'读取文件内容,有三种方法:read(x)读取x个字符,readline读取一行,readall读取全部'读取文件时跳行:skip(x) 跳过x个字符,skipline 跳过一行do while file.atendofstream<>trueline=line+1zsc.add line,file.readline'对话框显示msgbox "第" & line & "行: " & zsc(line) &"内容"loop'关闭文件file.close'运行CMD创建文件var ="cmd to file"set ws=CreateObject("WScript.Shell")ws.Run "cmd /c @echo "&var&">>zsc.txt",1'删除文件及文件夹:fso.deleteFile "a.txt"fso.deleteFolder "F:\abc"'创建多个文件'set fso=createobject("scripting.filesystemobject")for i=1 to 9999set file=fso.createtextfile("c:\aa"&i&".txt",true)file.closenext'把1231321321564646545746546497978654654数字分为每8位一行'Dim str,str2Const ForReading = 1, ForWriting = 2set FSO = CreateObject("Scripting.FileSystemObject")set f1 = FSO.OpenTextFile(".\a.txt",ForReading,true)str = f1.ReadLineset f1 = FSO.OpenTextFile(".\a.txt",ForWriting ,true)for i = 1 to len(str)-1 step 8str2 = mid(str,i,8)f1.WriteLine str2Next'产生随机数NrandomizeN = fix(rnd*60)'发送键盘TAB N次for index=1 to Nwshshell.SendKeys "{TAB}"next'vbs随机换桌面''服务器路径,只支持BMP格式ServerPath="\\server\share$\bmp"'本地文件名,将从服务器复制到本地后改名为这个文件名(包括完整路径)BMPname="e:\crt.bmp"Set FSO = CreateObject("Scripting.FileSystemObject") Set WshShell = WScript.CreateObject("WScript.Shell") Set F = FSO.GetFolder(ServerPath)Set FC = F.FilesNum = 0ReDim bmp(FC.Count)For Each F1 in FCIf UCase(FSO.GetExtensionName()) = UCase("BMP") thenNum = Num + 1bmp(Num) = F1.PathEnd IfNextRandomizeFSO.CopyFile bmp(Int(Num * Rnd + 1)),BMPname,TrueWshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\TileWallpaper","0","REG_SZ"WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\Wallpaper",BMPname,"REG_SZ"WshShell.RegWrite "HKEY_CURRENT_USER\Control Panel\Desktop\WallpaperStyle","2","REG_SZ"WshShell.RegWrite"HKEY_CURRENT_USER\Software\Microsoft\Windows\Cu rrentVersion\Explorer\Advanced\ListviewShadow","1","RE G_DWORD"'如果桌面图标未透明,需要刷新组策略,如果已经透明,只需要刷新桌面WshShell.run "gpupdate /force",0'WshShell.run "RunDll32.exe USER32.DLL,UpdatePerUserSystemParameters"'VBS随机输入字符到网页对话框''set huobilie = Wscript.CreateObject("Wscript.Shell") 'huobilie.run "iexplore "Set ie = Wscript.CreateObject("InternetExplorer.Application")ie.Navigate "about:blank"ie.ToolBar = 0ie.StatusBar = 0ie.Width=400ie.Height = 100ie.Left = 300ie.Top = 300SynchronizeIE()ie.Visible = 1ie.Document.Body.InnerHTML = "自动输入"WScript.Sleep 2000ie.navigate ""SynchronizeIE()Set wshshell=CreateObject("wscript.shell")wscript.sleep 500wshshell.Sendkeys"{TAB}"wshshell.Sendkeys"{TAB}"wshshell.Sendkeys"{TAB}"wshshell.Sendkeys"{TAB}"wshshell.Sendkeys"{TAB}" wshshell.Sendkeys"{TAB}" wshshell.Sendkeys"{TAB}" wshshell.Sendkeys"{TAB}" wscript.Sleep 500wshshell.Sendkeys"a" wshshell.Sendkeys"d" wshshell.Sendkeys"m" wshshell.Sendkeys"i"wshshell.Sendkeys"n" wshshell.Sendkeys"{ENTER}"SynchronizeIE()ie.Visible=1'WShell.SendKeys "~" ' 回车'wscript.Sleep 5000'Wshell.SendKeys "^W" ' 关闭IE窗口'//等待IE操作结束。
收集的一些经典的vbs脚本大全
收集的⼀些经典的vbs脚本⼤全记录⼀些经典的vbs脚本1.⽂件下载(⽆回显)echo iLocal = LCase(WScript.Arguments(1)) >iget.vbeecho iRemote = LCase(WScript.Arguments(0)) >>iget.vbeecho Set xPost = createObject("Microsoft.XMLHTTP") >>iget.vbeecho xPost.Open "GET",iRemote,0 >>iget.vbeecho xPost.Send() >>iget.vbeecho Set sGet = createObject("ADODB.Stream") >>iget.vbeecho sGet.Mode = 3 >>iget.vbeecho sGet.Type = 1 >>iget.vbeecho sGet.Open() >>iget.vbeecho sGet.Write(xPost.responseBody) >>iget.vbeecho sGet.SaveToFile iLocal,2 >>iget.vbe⽤法: cscript hget.vbs http://111.111.111.111/muma.exe muma.exe2.列举进程@echo for each ps in getobject _ >ps.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>ps.vbs@echo wscript.echo ps.handle^&vbtab^&^&vbtab^&ps.executablepath:next >>ps.vbs⽤法:cscript ps.vbs3.终⽌进程@echo for each ps in getobject _ >pskill.vbs@echo ("winmgmts:\\.\root\cimv2:win32_process").instances_ >>pskill.vbs@echo if ps.handle=wscript.arguments(0) then wscript.echo ps.terminate:end if:next >>pskill.vbs⽤法:cscript pskill.vbs pid4.重启系统@echo for each os in getobject _ >reboot.vbs@echo ("winmgmts:!\\.\root\cimv2:win32_operatingsystem").instances_ >>reboot.vbs@echo os.win32shutdown(2):next >>reboot.vbs⽤法:cscript reboot.vbsVBS脚本在系统安全中的⼋则巧妙应⽤VBS脚本病毒的⼤量流⾏使我们对VBS的功能有了⼀个全新的认识,现在⼤家对它也开始重视起来。
用VBS 脚本批量共享和删除文件夹
共享文件夹on error resume nextstrComputer="."set objwmi=getobject("winmgmts:\\"&strComputer&"\root\cimv2")set objshare=objwmi.get("win32_share")errReturn=objshare.create("d:\zcj","共享名",0)if errReturn=0 thenwscript.echo "共享成功"elsewscript.echo "共享失败"end if删除文件夹strComputer="."set objwmi=getobject("winmgmts:\\"&strComputer&"\root\cimv2")set colshares=objwmi.execquery("select * from win32_share where name='共享名'")for each objshare in colshareserrReturn=objshare.deletenextWindows下的权限管理指对共享目录进行维护可以通过LanManServer服务的FileService对象访问共享文件夹,获得FileService对象指针后就可以通过FileShare对象来创建文件共享或使用已经存在的文件夹共享1.查看某计算机上的所有共享文件夹查看3623工作组(域)上lysra机器上的所有共享文件夹Set fs=GetObject("WinNT://3623/lysra/LanManServer,FileService")for each sh in fsWScript.Echo next不显示默认共享(除PRINT$外),默认共享(管理员共享)是由操作系统自动创建的共享文件夹,在命令行下输入NET SHARE将看到所有包括默认的标准的共享2.检查共享文件夹极其属性//假设3623工作组工lysra机器上有个d:\a的共享文件夹Set fs=GetObject("WinNT://3623/lysra/LanManServer/a,fileshare")WScript.Echo WScript.Echo "当前连接用户数:" & fs.CurrentUserCountWScript.Echo "描述:" & fs.DescriptionWScript.Echo "宿主:" & fs.HostComputerWScript.Echo "最大连接用户:" & fs.MaxUserCount //返回-1表示没有设置最大值WScript.Echo "文件路径:" & fs.Path3.创建个删除共享文件夹Set cont=GetObject("WinNT://3623/lysra/LanManServer,FileService")Set fs=cont.Create("FileShare","Share")fs.Path="d:\a"fs.MaxUserCount=-1fs.SetInfo删除:Set cont=GetObject("WinNT://3623/lysra/LanManServer,FileService") cont.delete "FileShare","Share"。
VBS显示“选择文件或文件夹”对话框的代码
VBS显⽰“选择⽂件或⽂件夹”对话框的代码嗨,Scripting Guy!有没有什么⽅法可以让我使⽤脚本向⽤户显⽰⼀个对话框,供⽤户选择⽂件使⽤?您好。
| 如果您使⽤的是 Windows 2000,我们不知道实现此操作的⽅法,⾄少操作系统中没有内置这样的⽅法。
但如果您使⽤的是 Windows XP,情况就不同了。
在 Windows XP 上,您可以使⽤"” 对象向⽤户显⽰⼀个标准的“⽂件打开”对话框。
可以⽤类似以下代码的脚本:复制代码代码如下:Set objDialog = CreateObject("monDialog")objDialog.Filter = "All Files|*.*"objDialog.InitialDir = "C:\"intResult = objDialog.ShowOpenIf intResult = 0 ThenWscript.QuitElseWscript.Echo objDialog.FileNameEnd If这是⼀个⼩脚本,所以让我们逐⾏进⾏解释吧:1)我们⾸先创建⼀个对 monDialog 对象的对象引⽤(名为“objDialog”)。
2)接着,我们设置对话框的“筛选”属性。
我们要显⽰所有⽂件,所以我们将筛选设置成这样:objDialog.Filter = "All Files|*.*"假如我们只想显⽰⽂本⽂件,那该怎么办?在这种情况下,我们将使⽤以下筛选:objDialog.Filter = "Text Files|*.txt"您也许能够看出它是如何运⾏的:我们为⽂件类型提供说明 (Text Files),然后插⼊⼀个竖线分隔符 (|),最后使⽤标准的通配符来指⽰所有 .txt ⽂件 (*.txt)。
是不是想默认显⽰ .txt ⽂件,然后为⽤户提供查看所有⽂件的选项?那么可以使⽤以下代码:objDialog.Filter = "Text Files|*.txt|All Files|*.*"试⼀试,您就明⽩我们的意思了。
VBS遍历文件或文件夹路径输入文件的所有绝对路径(附源码)
Debug.WriteLine "没有该文件系统" End if
Set filescol=Nothing Set subcol=nothing Set fso=Nothing t2=Timer() Debug.WriteLine "****现在完成计数,用时:"+CStr(t2) Debug.WriteLine "整个操作过程用时:"&CStr(t2-t1)&" 秒" End function
sendkeys模拟键盘操作将一个或多个按键指令发送到指定windows窗口来控制应用程序运行下面有很多的vbs结合sendkyes的实例代码方便大家学习
VBS遍 历 文 件 或 文 件 夹 路 径 输 入 文 件 的 所 有 绝 对 路 径 ( 附 源码)
源码如下:
Function listFilesPath(filepath) t1=Timer() Debug.WriteLine "****现在开始执行计数,用时:"+CStr(t1) Set fso=CreateObject("scripting.filesystemobject") Set myfolder=fso.GetFolder(filepath) If fso.FolderExists(filepath) then Set subcol=myfolder.SubFolders Set filescol=myfolder.Files For Each file In filescol Debug.WriteLine filepath+"\"Then For Each folder In subcol 'Debug.WriteLine filepath+"\"+ listFilesPath(filepath+"\"+) next
vbs实例
1、VBS改写、追加文件Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",2,True) '1表示只读,2表示可写,8表示追加openFile.Write "Hello World!"openFile.Close2、VBS读取文件ReadAll 读取全部Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.ReadAll)3、VBS读取文件ReadLine 读取一行Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.ReadLine())MsgBox(openFile.ReadLine()) '如果读取行数超过文件的行数,就会出错4、VBS读取文件Read 读取n个字符Dim fso,openFileSet fso=CreateObject("Scripting.FileSystemObject")Set openFile=fso.OpenTextFile("C:\test.txt",1,True)MsgBox(openFile.Read(2)) '如果超出了字符数,不会出错。
VBS中FSO文件与文件夹的基本操作
VBS中FSO文件与文件夹的基本操作VBS中FSO文件的基本操作一、文件属性:在windows中,文件的属性一般用数字来表示:0 代表normal,即普通文件未设置任何属性。
1 代表只读文件。
2 代表隐藏文件。
4 代表系统文件。
16 代表文件夹或目录。
32代表存档文件。
1024代表链接或快捷方式。
例如:set fs=wscript.createobject(“scripting.filesystemobject”)set f=fs.getfile(“d:\index.txt”)msgbox f.Attributes ‘attributes函数的作用是显示文件属性需要说明的是:msgbox显示的结果往往不是上面说明的数字,而是有关属性代表数字的和二、创建文件:object.createtextfile方法,注意创建前一般需要检查文件是否存在。
例如:set fso=wscript.createobject(“scripting.filesystemobject”)if fso.fileexists(“c:\kk.txt”) thenmsgbox “文件已存在”else set f=fso.createtextfile(“c:\kk.txt”)end if如需要强制覆盖已存在的文件,则在文件名后加true参数。
三、复制、移动、删除文件:使用copyfile方法、movefile方法、deletefile方法。
例如:set fso=wscript.createobject(“scripting.filesystemobject”)fso.copyfile “c:\kk.txt”,”d:\1\kk.txt”,true //如上文说述,true代表强制覆盖fso.movefile “c:\kk.txt”, “d:\”//移动文件fso.deletefile “c:\kk.txt”//删除文件四、文件的读写:1、打开文件:使用opentextfile方法如:set ts=fso.opentextfile(“c:\kk.txt”,1,true)说明:第二个参数为访问模式1为只读、2写入、8为追加第三个参数指定如文件不存在则创建。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
文件和文件夹VBS脚本大全.txt不相信永远,不拥有期待,不需要诺言当你不能再拥有的时候,唯一可以做的,就是令自己不要忘记。
王子之所以能口奂酉星目垂美人是因为王子用心了我能口奂酉星什么文件和文件夹VBS脚本大全2010-07-09 10:52文件和文件夹VBS脚本大全1推荐文件和文件夹vbs脚本大全枚举文件夹中的所有文件描述返回 Scripts 文件夹中所有文件的列表。
如果计算机有多个文件夹(例如C:\Scripts 和D:\Scripts),则文件将从这些文件夹中的每一个返回。
脚本代码strComputer = "."Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer& "\root\cimv2")Set colFiles = objWMIService. _ExecQuery("Select * from CIM_DataFile where Path ='\\Scripts\\'")For Each objFile in colFilesWscript.Echo Next移动文件描述演示脚本使用 FileSystermObject 将文件从一个位置移到另一个位置。
此脚本必须运行在本地计算机上。
脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")objFSO.MoveFile "C:\FSO\ScriptLog.log" , "D:\Archive"通过日期查找文件夹描述查找在 2002 年 3 月 1 日之后创建的所有文件。
要修改此脚本,您必须修改赋给变量dtmTargetDate 的值中的下列项:?2002 -- 将此项更改为目标年(如 1999)。
?03--将此项更改为目标月(01 代表 1 月、 02代表 2月……12 代表 12月)?01 -- 将此项更改为目标天(01 代表该月的第一天、02 代表第二天)。
?-420 -- 为了确保具有正确的结果,可以将此项更改为您所在的时区和格林尼治标准时间之间的偏移量。
如果您不知道此偏移量,可以使用脚本确定与格林尼治标准时间的时区偏移量。
On Error Resume NextdtmTargetDate = "20020301000000.000000-420"strComputer = "."Set objWMIService = GetObject _("winmgmts:" & "!\\" & strComputer & "\root\cimv2")Set colFolders = objWMIService.ExecQuery _("Select * from Win32_Directory Where CreationDate >'" & _dtmtargetDate & "'")For Each objFolder in colFoldersWscript.Echo Next逐个字符地读取文本文件描述演示脚本使用 FileSystemObject 逐个字符地读取文本文件,并分别将这些字符显示在屏幕上。
此脚本必须运行在本地计算机上。
脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")Set objFile = objFSO.OpenTextFile("C:\FSO\New TextDocument.txt", 1)Do Until objFile.AtEndOfStreamstrCharacters = objFile.Read(1)Wscript.Echo strCharactersLoop识别 Shell 对象动词描述为 Recycle Bin 返回 Shell 对象动词(上下文菜单项)的列表。
脚本代码Const RECYCLE_BIN = &Ha&Set objShell = CreateObject("Shell.Application")Set objFolder = Space(RECYCLE_BIN)Set objFolderItem = objFolder.SelfSet colVerbs = objFolderItem.VerbsFor i = 0 to colVerbs.Count - 1Wscript.Echo colVerbs.Item(i)Next生成文件名描述演示脚本使用 FileSystemObject 的 GetTempName 方法生成随机文件名。
此脚本必须运行在本地计算机上。
Set objFSO = CreateObject("Scripting.FileSystemObject")For i = 1 to 10strTempFile = objFSO.GetTempNameWscript.Echo strTempFileNext创建和命名文本文件描述演示脚本使用 FileSystemObject 的 GetTempName 方法生成一个文件名,然后根据该名称创建一个文件。
脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")strPath = "C:\FSO"strFileName = objFSO.GetTempNamestrFullName = objFSO.BuildPath(strPath, strFileName)Set objFile = objFSO.CreateTextFile(strFullName)objFile.CloseobjFSO.DeleteFile(strFullName)创建网络共享描述创建一个名为 FinanceShare 的共享文件夹,将同时连接的最大数量设置为25,然后添加共享描述。
脚本代码Const FILE_SHARE = 0Const MAXIMUM_CONNECTIONS = 25strComputer = "."Set objWMIService = GetObject("winmgmts:" _& "{impersonationLevel=impersonate}!\\" & strComputer& "\root\cimv2")Set objNewShare = objWMIService.Get("Win32_Share")errReturn = objNewShare.Create _("C:\Finance", "FinanceShare", FILE_SHARE, _MAXIMUM_CONNECTIONS, "Public share for the Financegroup.")Wscript.Echo errReturn创建文本文件描述演示脚本创建一个新的空文本文件。
此脚本必须运行在本地计算机上。
脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")Set objFile = objFSO.CreateTextFile("C:\FSO\ScriptLog.txt")创建文件夹描述演示脚本使用 FileSystemObject 创建一个文件夹。
此脚本必须运行在本地计算机上。
脚本代码Set objFSO = CreateObject("Scripting.FileSystemObject")Set objFolder = objFSO.CreateFolder("C:\FSO")发布共享文件夹描述在 Active Directory 中发布共享文件夹,给该文件夹指派一个描述和三个关键字。
脚本代码Set objComputer = GetObject _("LDAP://OU=Finance, DC=fabrikam, DC=com")Set objShare = objComputer.Create("volume","CN=FinanceShare")objShare.Put "uNCName", "[url=file://atl-dc-02/FinanceShare]\\atl-dc-02\FinanceShare[/url]"objShare.Put "Description", "Public share for users in theFinance group."objShare.Put "Keywords", Array("finance", "fiscal","monetary")objShare.SetInfo在文件上执行操作描述使用 Shell 对象打印 C:\Logs 文件夹中的所有文件。
脚本代码TargetFolder = "C:\Logs"Set objShell = CreateObject("Shell.Application")Set objFolder = space(TargetFolder)Set colItems = objFolder.ItemsFor i = 0 to colItems.Count - 1colItems.Item(i).InvokeVerbEx("Print")Next按照从下到上的顺序读取文本文件描述演示脚本使用 FileSystemObject 读取一个文本文件,并以相反的顺序显示该文本文件(即从最后一行开始,以第一行结束)。