深入windows脚本主机对象模型
模型中的一些对象分组到集合中,wscript对象可以访问的对象和集合包括如下:
Wshshell对象是通过CreateObject(WScript.Shell)函数或方法来调用环境变量、特殊文件夹、快捷和注册表、以及启动外
部程序。
WshNetwork对象是通过CreateObject(WScript.WshNetwork)函数或方法来调用访问共享网络打印机和文件夹。
WshArguments集合可以通过WScript.Arguments属性来访问,可以访问一组脚本参数。
例如:cscript.exe myscript.vbs ONE TWO ONE和TWO是两个参数分别有WScript.Arguments(0)和WScript.Arguments(1)
引用。
1、简单介绍WshShell
一旦调用了WshShell对象,就可以调用附加的WSH对象和对象集合
WshEnvironment对象通过WshShell.Environment属性访问环境变量。
WshShortcut对象,通过WshShell.CreateShortcut()方法,访问文件和文件夹快捷方式。
WshUrShortcut对象,通过WshShell.CreateShortcut()方法,访问RUL快捷方式。
WshSpecialFolders对象,通过WshShell.SpecialFolders属性访问特殊文件夹(我的电脑、桌面、拨号网络等)
2、WshNetwork
一旦调用WshNetwork对象,就可以调用附加的WSH对象和对象集合
DriveMapping集合,通过WshNetwork.EnumNetworkDrives()方法访问当前驱动器映射。
NetworkPrinters集合,通过WshNetwork.EnumPrinterConnections()方法访问当前打印机集合。
FilesSystemObject对象模型
创建FilesSystemObject对象模型需要从根对象开始
Dim objFSO
Set objFSO = CreateObject ("Scripting.FileSystemObject")
当根对象建立好了以后就可以访问模型的其他部件了,嘿嘿。
Drivers(Drive对象集合)包括软盘、可移动的和永久性磁盘以及网络映射。
Folders(Folder对象集合)包括基于系统的文件夹,但是不支持特殊文件夹切记。
Files(File对象集合)。
TextStream:提供处理文本文件的方法和属性。
同时我们必须知道使用FilesSystemObject的方法和属性,我们可以操纵文件系统的每个部件。
即:DriveExists、FolderExists、FileExists允许校验文件系统部件是否存在。GetTempName:在你需要创建一个临时文件的
情况下特别有用。GetDrive:返回一个驱动器对象,可以访问他的属性比如
AvailableSpace,DriveLetter,DriveType,FileSystem,FreeSpace,IsReady,Path,RootFolder,SerialNumber,ShareName,Total
Size和VolumeName等等。GetFolder:返回一个文件夹对象,可以访问他的属性比如
Attributes,DateCreated,DateLastAccessed,DateLastModified,Drive,Files,IsRootFolder,Name,ParentFolder,Path,Short
Name,ShortPath,Size,SubFolders,Type和方法Copy,Delete,Move,CreateTextFile等。GetFile:返回一个文件对象,可以
访问他的属性和方法比如方法Copy,Delete,Move,OpenAsTextStream等。
我们,使用TextStream对象处理大多数文本文件,可以通过如下的方法创建。
FilesSystemObject的CreateTextFile方法
FilesSystemObject的OpenTextFile方法
Folder对象的CreateTextFile方法
File对象的OpenAsStream方法
对象的属性和方法简化了文件内容的处理,但是有一定的局限性,不能在打开的状态下改写,没有锁定功能。上诉可以使用的
方法有:Close,Read,Readall,ReadLine,Skip,SkipLine,Write,WriteLine和WriteBlankLines。可以用的属性有:
Column,Line,AtEndOfLine和AtEndOfStream等。
使用TextStream对象在文本文件中替换一个字符串
Option Explicit
Const ForReading = 1 '当使用OpenTextFile方法时指定访问类型
Const ForWriting = 2 '当使用OpenTextFile方法时指定访问类型
Const ForAppending = 8 '当使用OpenTextFile方法时指定访问类型
Const FormatASCII = 0 '指定为ASCII格式
Const FormatUni = -1 '指定为Unicode格式
Const FormatDef = -2 '指定为默认格式
Dim objFSO
Dim objSourceFile
Dim strSourceName
Dim objDestFile
Dim strDestName
Dim strSource
Dim strDest
Dim strSubOld
Dim StrSubNew
strSourceName = "text.txt"
Set objFSO = CreateObject ("Scripting.FileSystemObject")
Set objSourceFile = objFSO.OpenTextFile (strSourceName,ForReading,False,FormatASCII)
strSource = objSourceFile.ReadALL()
objSourceFile.Close
strSubOld = "stringone"
strSubNew = "stringtwo"
strDest = Replace (strSource,strSubOld,strSubNew)
strDestName = "testres.txt"
Set objDestFile = objFSO.CreateTextFile (strDestName)
objDestFile.Write(strDest)
objDestFile.Close
Set objFSO = Nothing
呵呵,今天就把wmi的入门全部将过了,希望大家开心学习,开了生活------