文件和文件夹VBS脚本大全.docx
《文件和文件夹VBS脚本大全.docx》由会员分享,可在线阅读,更多相关《文件和文件夹VBS脚本大全.docx(20页珍藏版)》请在冰点文库上搜索。
文件和文件夹VBS脚本大全
文件和文件夹VBS脚本大全2010-07-0910:
52文件和文件夹VBS脚本大全
1推荐文件和文件夹vbs脚本大全枚举文件夹中的所有文件
描述
返回Scripts文件夹中所有文件的列表。
如果计算机有多个文件夹(例如C:
\Scripts和D:
\Scripts),则文件将从这些文件夹中的每一个返回。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&strComputer
&"\root\cimv2")
SetcolFiles=objWMIService._
ExecQuery("Select*fromCIM_DataFilewherePath=
'\\Scripts\\'")
ForEachobjFileincolFiles
Wscript.EchoobjFile.Name
Next
移动文件
描述
演示脚本使用FileSystermObject将文件从一个位置移到另一个位置。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=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--为了确保具有正确的结果,可以将此项更改为您所在的时区和格林尼治标准时间之间的偏移量。
如果您不知道此偏移量,可以使用脚本确定与格林尼治标准时间的时区偏移量。
脚本代码
OnErrorResumeNext
dtmTargetDate="20020301000000.000000-420"
strComputer="."
SetobjWMIService=GetObject_
("winmgmts:
"&"!
\\"&strComputer&"\root\cimv2")
SetcolFolders=objWMIService.ExecQuery_
("Select*fromWin32_DirectoryWhereCreationDate>
'"&_
dtmtargetDate&"'")
ForEachobjFolderincolFolders
Wscript.EchoobjFolder.Name
Next
逐个字符地读取文本文件
描述
演示脚本使用FileSystemObject逐个字符地读取文本文件,并分别将这些字符显示在屏幕上。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.OpenTextFile("C:
\FSO\NewText
Document.txt",1)
DoUntilobjFile.AtEndOfStream
strCharacters=objFile.Read
(1)
Wscript.EchostrCharacters
Loop
识别Shell对象动词
描述
为RecycleBin返回Shell对象动词(上下文菜单项)的列表。
脚本代码
ConstRECYCLE_BIN=&Ha&
SetobjShell=CreateObject("Shell.Application")
SetobjFolder=objShell.NameSpace(RECYCLE_BIN)
SetobjFolderItem=objFolder.Self
SetcolVerbs=objFolderItem.Verbs
Fori=0tocolVerbs.Count-1
Wscript.EchocolVerbs.Item(i)
Next
生成文件名
描述
演示脚本使用FileSystemObject的GetTempName方法生成随机文件名。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
Fori=1to10
strTempFile=objFSO.GetTempName
Wscript.EchostrTempFile
Next
创建和命名文本文件
描述
演示脚本使用FileSystemObject的GetTempName方法生成一个文件名,然后根据该名称创建一个文件。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
strPath="C:
\FSO"
strFileName=objFSO.GetTempName
strFullName=objFSO.BuildPath(strPath,strFileName)
SetobjFile=objFSO.CreateTextFile(strFullName)
objFile.Close
objFSO.DeleteFile(strFullName)
创建网络共享
描述
创建一个名为FinanceShare的共享文件夹,将同时连接的最大数量设置为25,然后添加共享描述。
脚本代码
ConstFILE_SHARE=0
ConstMAXIMUM_CONNECTIONS=25
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&strComputer
&"\root\cimv2")
SetobjNewShare=objWMIService.Get("Win32_Share")
errReturn=objNewShare.Create_
("C:
\Finance","FinanceShare",FILE_SHARE,_
MAXIMUM_CONNECTIONS,"PublicsharefortheFinance
group.")
Wscript.EchoerrReturn
创建文本文件
描述
演示脚本创建一个新的空文本文件。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.CreateTextFile("C:
\FSO\ScriptLog.txt")
创建文件夹
描述
演示脚本使用FileSystemObject创建一个文件夹。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFolder=objFSO.CreateFolder("C:
\FSO")
发布共享文件夹
描述
在ActiveDirectory中发布共享文件夹,给该文件夹指派一个描述和三个关键字。
脚本代码
SetobjComputer=GetObject_
("LDAP:
//OU=Finance,DC=fabrikam,DC=com")
SetobjShare=objComputer.Create("volume",
"CN=FinanceShare")
objShare.Put"uNCName","[url=file:
//atl-dc-02/FinanceShare]\\atl-dc-02\FinanceShare[/url]"
objShare.Put"Description","Publicshareforusersinthe
Financegroup."
objShare.Put"Keywords",Array("finance","fiscal",
"monetary")
objShare.SetInfo
在文件上执行操作
描述
使用Shell对象打印C:
\Logs文件夹中的所有文件。
脚本代码
TargetFolder="C:
\Logs"
SetobjShell=CreateObject("Shell.Application")
SetobjFolder=objShell.Namespace(TargetFolder)
SetcolItems=objFolder.Items
Fori=0tocolItems.Count-1
colItems.Item(i).InvokeVerbEx("Print")
Next
按照从下到上的顺序读取文本文件
描述
演示脚本使用FileSystemObject读取一个文本文件,并以相反的顺序显示该文本文件(即从最后一行开始,以第一行结束)。
脚本代码
DimarrFileLines()
i=0
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.OpenTextFile("C:
\FSO\ScriptLog.txt",
1)
DoUntilobjFile.AtEndOfStream
RedimPreservearrFileLines(i)
arrFileLines(i)=objFile.ReadLine
i=i+1
Loop
objFile.Close
Forl=Ubound(arrFileLines)toLBound(arrFileLines)Step
-1
Wscript.EchoarrFileLines(l)
Next
创建新文件夹
描述
使用Shell对象创建名为C:
\Archive的新文件夹。
脚本代码
ParentFolder="C:
\"
setobjShell=CreateObject("Shell.Application")
setobjFolder=objShell.NameSpace(ParentFolder)
objFolder.NewFolder"Archive"
监视文件修改
描述
任何时候修改文件C:
\Scripts\Index.vb,临时事件消费程序都会发出警告。
最好运行在Cscript.exe下。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&_
strComputer&"\root\cimv2")
SetcolMonitoredEvents=
objWMIService.ExecNotificationQuery_
("SELECT*FROM__InstanceModificationEventWITHIN10
WHERE"_
&"TargetInstanceISA'CIM_DataFile'and"_
&"TargetInstance.Name='c:
\\scripts\\index.vbs'")
Do
SetobjLatestEvent=colMonitoredEvents.NextEvent
Wscript.Echo"File:
"&
objLatestEvent.TargetInstance.Name
Wscript.Echo"Newsize:
"&
objLatestEvent.TargetInstance.FileSize
Wscript.Echo"Oldsize:
"&
objLatestEvent.PreviousInstance.FileSize
Loop
监视文件删除
描述
任何时候从C:
\Scripts文件夹删除文件,临时事件消费程序都会发出警告。
最好运行在Cscript.exe下。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&_
strComputer&"\root\cimv2")
SetcolMonitoredEvents=
objWMIService.ExecNotificationQuery_
("SELECT*FROM__InstanceDeletionEventWITHIN10WHERE
"_
&"TargetinstanceISA'CIM_DirectoryContainsFile'
and"_
&"TargetInstance.GroupComp'Win32_Directory.Name=""c:
\\\\scripts""'")
Do
SetobjLatestEvent=colMonitoredEvents.NextEvent
Wscript.Echo
objLatestEvent.TargetInstance.PartComponent
Loop
复制文件夹
描述
演示脚本使用FileSystemObject将文件夹复制到新的位置。
此脚本必须运行在本地计算机上。
脚本代码
ConstOverWriteFiles=True
SetobjFSO=CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder"C:
\Scripts","C:
\FSO",OverWriteFiles
监视文件创建
描述
任何时候在C:
\Scripts文件夹中创建文件,临时事件消费程序就发出警告。
最好在Cscript.exe下运行。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&_
strComputer&"\root\cimv2")
SetcolMonitoredEvents=
objWMIService.ExecNotificationQuery_
("SELECT*FROM__InstanceCreationEventWITHIN10WHERE"_
&"TargetinstanceISA'CIM_DirectoryContainsFile'
and"_
&"TargetInstance.GroupComp'Win32_Directory.Name=""c:
\\\\scripts""'")
Do
SetobjLatestEvent=colMonitoredEvents.NextEvent
Wscript.Echo
objLatestEvent.TargetInstance.PartComponent
Loop
复制文件
描述
演示脚本使用FileSystemObject来复制文件。
此脚本必须运行在本地计算机上。
脚本代码
ConstOverwriteExisting=True
SetobjFSO=CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile"C:
\FSO\ScriptLog.txt","D:
\Archive\",
OverwriteExisting
复制文件集
描述
演示脚本使用FileSystemObject将文件夹中的所有.txt文件复制到一个新的位置。
脚本代码
ConstOverwriteExisting=True
SetobjFSO=CreateObject("Scripting.FileSystemObject")
objFSO.CopyFile"C:
\FSO\*.txt","D:
\Archive\",
OverwriteExisting
解析路径名
描述
演示脚本使用FileSystemObject临时返回路径名信息,其中包括文件名、文件扩展名、完整文件路径等等。
此脚本必须运行在本地计算机上。
脚本代码
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjFile=objFSO.GetFile("ScriptLog.txt")
Wscript.Echo"Absolutepath:
"&
objFSO.GetAbsolutePathName(objFile)
Wscript.Echo"Parentfolder:
"&
objFSO.GetParentFolderName(objFile)
Wscript.Echo"Filename:
"&objFSO.GetFileName(objFile)
Wscript.Echo"Basename:
"&objFSO.GetBaseName(objFile)
Wscript.Echo"Extensionname:
"&
objFSO.GetExtensionName(objFile)
将文本文件读入数组
描述
演示代码使用VBScriptSplit命令从逗号分隔的值文件读取一行,然后将该行中的各个项放入一个数组。
脚本代码
ConstForReading=1
SetobjFSO=CreateObject("Scripting.FileSystemObject")
SetobjTextFile=objFSO.OpenTextFile_
("c:
\scripts\serversandservices.txt",ForReading)
DoUntilobjTextFile.AtEndOfStream
strNextLine=objTextFile.Readline
arrServiceList=Split(strNextLine,",")
Wscript.Echo"Servername:
"&arrServiceList(0)
Fori=1toUbound(arrServiceList)
Wscript.Echo"Service:
"&arrServiceList(i)
Next
Loop
解压缩文件夹
描述解压缩文件夹C:
\Scripts。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&strComputer
&"\root\cimv2")
SetcolFolders=objWMIService.ExecQuery_
("Select*fromWin32_Directorywherename=
'c:
\\Scripts'")
ForEachobjFolderincolFolders
errResults=objFolder.Uncompress
Wscript.EchoerrResults
Next
将网络共享映射到本地文件夹
描述
使用查询的WMIAssociators返回计算机上所有网络共享的本地路径。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&strComputer
&"\root\cimv2")
SetcolShares=objWMIService.ExecQuery_
("Associatorsof{Win32_Share.Name='Scripts'}Where"
_
&"AssocClass=Win32_ShareToDirectory")
ForEachobjFolderincolShares
Wscript.EchoobjFolder.Name
Next
将所有的网络共享映射到本地文件夹
描述
使用查询的WMIAssociators返回名为Scripts的网络共享的本地路径。
脚本代码
strComputer="."
SetobjWMIService=GetObject("winmgmts:
"_
&"{impersonationLevel=impersonate}!
\\"&strComputer
&"\root\cimv2")
SetcolShares=objWMIService.ExecQuery_
("Select*FromWin32_Share")
ForEachobjShareincolShares
SetcolAssociations=objWMIService.ExecQuery_
("Associatorsof{Win32_Share.Name='"&
objShare.Name&"'}"_
&"WhereAssocClass=Win32_ShareToDirectory")
ForEachobjFolderincolAssociations
Wscript.EchoobjShare.Name&vbTab&objFolder.Name
Next
Next
枚举文件夹属性
描述
演示脚本使用FileSystemObject枚举文件夹的属性。
此脚本必须运行在本地计算机上。
脚本代码