




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Windows script学习笔记microsoft官方介绍::Windows Scripting Host:脚本语言的通用脚本主机(全文) 摘要Windows Scripting Host (WSH) 是一个用于 32 位 Windows 平台的独立于语言的脚本主机。Windows Scripting Host 将集成到 Microsoft Windows 操作系统的更新程序和新版本中。引言Windows Scripting Host (WSH) 是一个独立于语言的脚本主机,用于 32 位 MicrosoftWindows 操作系统平台上。Microsoft 同时给 Visual Basic Script 以及 Java Script 脚本引擎提供了 WSH。Microsoft 预计,其它软件公司将会给其它一些语言(如 Perl、TCL、REXX 以及 Python)提供 ActiveX 脚本引擎。WSH 可以从基于 Windows 的主机运行 (Wscript.exe),也可以从基于命令行解释器的主机运行 (Cscript.exe)。本文将讲述:WSH 的用途。 如何安装 WSH。 Windows Scripting Host 已集成到 Windows 98、Internet Information Server 4.0 版, Windows 2000 Server 以及 Windows 2000 Professional 中。它也可用于 Windows 95 操作系统。Windows Scripting Host 的优点Windows Scripting Host (WSH) 给 32 位 Windows 平台提供了使用简便、功能强大和变化灵活的脚本。过去,Windows 操作系统支持的唯一正宗的脚本语言是 MS-DOS 命令语言。尽管 MS-DOS 速度很快,且很小巧,但与 Visual Basic Script 和 Java Script 相比,其功能有限。现在,ActiveX 脚本体系结构可让用户能使用强大的诸如 Visual Basic Script 和 Java Script 之类的脚本语言,同时也支持 MS-DOS 命令脚本。ActiveX 脚本体系结构允许使用诸如 VB Script、Java Script 及 Perl 等语言编写功能强大的脚本。Microsoft 现为在 Windows 平台上运行这些脚本语言提供三种主机:Microsoft Internet Explorer Internet Information Server (IIS) Windows Scripting Host (WSH) Internet Explorer 能使脚本在客户计算机上从 HTML 页内运行。Internet Information Server 现支持 Active Server Page,它能使脚本在 Web 服务器上运行;换句话说,它在 Internet 或 Intranet 上启用服务器端脚本。Windows Scripting Host 能使脚本直接在 Windows 桌面或命令控制台上执行,无须将脚本嵌入到 HTML 文档中。脚本可以直接从桌面(通过点击脚本文件)或命令控制台上运行。WSH 提供了一个内存消耗少的脚本主机,非常适合于非交互脚本,如登录脚本、管理脚本等等。WSH 安装要使用 Windows Scripting Host,必须安装 Microsoft Internet Explorer 3.0 版或更高版本。WSH 依赖与 Internet Explorer 3.0 或更高版本一起提供的 Visual Basic Script 和 Java Script 引擎。WSH 作为 Windows 98、Windows 2000 以及 Internet Information Server 4.0 的一部分安装的。在 Windows 95 中安装,则需要单独的安装程序。要在基于 Windows 95 的系统上安装 WSH,如还未安装 Microsoft Internet Explorer 3.0 版或更高版本,则必须安装。如没有 Internet Explorer 3.0 或更高版本,请参见 Microsoft IE Web 页,网址是:/ie/ie.htm。从 Microsoft 下载站点下载 WSH 安装程序,网址是:/msdownload/vbscript/scripting.asp。使用基于命令的脚本主机运行脚本Cscript.exe 使用以下语法:cscript host optionsU script name script optionsHost parameters(主机参数)启用或禁用各种 WSH 选项。主机参数前面有两条斜线 (/)。 script name(脚本名称)是脚本文件的名称;例如 CHART.VBS。 Script parameters(脚本参数)传递给脚本。脚本参数前面有一条斜线 (/)。 每个参数都是可选的;但是,不能指定脚本参数而不指定脚本。如果不指定参数,Cscript.exe 就会显示 Cscript.exe 语法,以及有效的主机参数。Cscript.exe 支持以下主机参数:参数 说明 /R 通过搜索注册的脚本引擎来注册脚本扩展名(.vbs、.js、.tcl)。备注 当使用 /R 转移指令时,不需要提供脚本文件名。 /I 交互模式 (默认值,与 /B 相反) /B 批处理模式。禁止脚本请求的任何非命令行控制台 UI。 /T:nn 超时(秒数)。脚本可运行的最长时间,默认值为 No limit(没有限制)。 此选项用来防止脚本执行时间过长;它设定一个计时器。当执行时间超过指定值,Cscript 就会使用 IActiveScript:InterruptThread 方法中断脚本引擎,并终止该进程。备注 有一个回叫挂钩。如果调用超时,就调用 OnTimeOut 函数进行清理。尽管可能会产生无限循环,但使用此功能,还是利多弊少。/logo 在执行时显示执行横幅标志(默认值 - 与 /NoLogo 相反)。 /nologo 执行时不显示执行横幅标志。 /C 将 Cscript.exe 作为运行脚本的默认应用程序。 /S 为这个用户(每个用户)保存当前命令行选项。 / 显示命令用法(与不带参数运行相同)。 当安装 WSH 时,就会安装一些脚本示例。脚本示例放在 %windir%WSamples 文件夹中(其中 %windir% 是 Windows 95 或 Windows 2000 文件夹)。要运行 Chart.vbs请转到 Windows 2000 或 Windows 95 命令提示符。 运行以下命令:cscript /logo %windir%wsampleschart.vbscscript /nologo %windir%wsampleschart.vbs 使用基于 Windows 的脚本主机运行脚本在 Windows 中使用 WSH 有三种方法运行脚本。可以:在“我的电脑”、“资源管理器”和“查找”窗口中双击文件和图标。 使用 Windows“运行”命令。 运行 Wscript.exe。 当您使用 Wscript.exe 运行脚本时,您可以选择“始终使用 Windows Scripting Host 打开该文件”复选框,并在“WSH 属性”页上设置属性。当运行脚本且选定了“始终使用 Windows Scripting Host 来打开文件”复选框时,对于带有正在运行的脚本的扩展名的文件,Wscript.exe 就成为运行这些文件的默认应用程序。例如,当您运行 Chart.vbs 时,如果选定了该复选框,Wscript.exe 就成为运行所有扩展名为 .vbs 的文件的默认应用程序。此复选框对 Cscript.exe /C 转移指令同样适用。WSH 属性页提供以下选项:属性 用途 CSCRIPT.EXE 的对应项 注册常见的脚本扩展名 通过搜索常见的注册脚本引擎,重新注册常见的脚本扩展名 (.vbs、.js、.tcl)。 /R n 秒后终止脚本 指定脚本运行的最大秒数。(默认值是没有限制。) /T:nn 默认情况下,以下列模式运行脚本:交互/批处理 禁用或启用脚本的所有非命令行控制台 UI 请求。交互模式允许非命令行控制台 UI 请求。而批处理则不允许。 /I & /B WSH 体系结构概述Windows Scripting Host 用作 ActiveX 脚本引擎的控制器,其作用如同 Microsoft Internet Explorer。因为该脚本主机不是完全 Internet 浏览器,所以它比 Microsoft Internet Explorer 需要的内存少;因此,WSH 适于执行简单快速的任务。该脚本主机按脚本引擎提供的 IActiveScriptParse:ParseScriptText 方法读取指定脚本文件内容并将其送到注册的脚本引擎。该脚本引擎并不使用 SCRIPT 标记(在 HTML 中使用),而使用文件的扩展名。因此,脚本编写者无须熟悉各种脚本引擎的确切 ProgID。此脚本主机维持了一种脚本扩展名与 ProgID 的对应关系,并使用 Windows 关联模式启动相应的引擎。1.概述虽说不是只有NT5才有WSH,但NT5(WINDOWS2000)一定有WSH的。实际上,你在WIN98+PWS里,或者NT4+IIS4里,你就能找到WSH。WSH是微软脚本技术系列中的一种,简单讲,就是提供了一种脚本环境,在这个环境中,预定义了一些对象,同时也可以使用COM里的其他对象。他使用一种脚本引擎来对脚本解释执行,微软自己支持VBSCRIPT和JSCRIPT,第三方也可以开发自己的脚本引擎。具体点,就是你先编好一些脚本文件(微软自带例子若干,后缀.vbs或 .js),然后用一个程序对他解释执行,这个程序就叫Windows Scripting Host,程序的名字是Wscript.exe(或者命令行的Cscript.exe),你可以查看一下你的机器里有没有这两个文件,就知道有没有WSH了。这非常像批处理文件,只不过文件里不是命令行,而是脚本语言写的脚本。同时,他完成的功能也非常像批处理文件,只不过多了些控制。我主要用WSH来完成一些繁琐的、通常需要我反复操作才能完成的任务,比如给大量目录设置ACL,或者创建大量的目录等等。虽然这也可以编写VB或VC程序来实现,不过比起脚本来,实在麻烦,至少需要那么大的环境,而脚本只要一个写字板就成。用WSH技术来配置服务器,包括创建用户,创建邮箱,创建目录,创建站点,设置ACL,设置FrontPage ServerExtention,我将在WSH实用讲座中分几讲详细介绍。2.组成WSH自带的几个内置对象包括:1.由 Wscript.exe 提供的对象Wscript 作为 Wscript 公开给脚本引擎。 WshArguments 未公开;通过 Wscript.Arguments 属性访问。 2.由 WSHom.Ocx 提供的对象。WshShell 自动对象。ProgID 是 Wscript.WshShell。 WshNetwork 自动对象。ProgID 是 Wscript.WshNetwork。 WshShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。 WshUrlShortcut 未公开;通过 WshShell.CreateShortcut 方法访问。 WshCollection 未公开;通过 WshNetwork.EnumNetworkDrives 或 WshNetwork.EnumPrinterConnection 方法访问。 WshEnvironment 未公开;通过 WshShell.Environment 属性访问。 WshSpecialFolders 未公开;通过 WshShell.Folder 属性访问。 他们主要可以完成环境变量的获取,网络登陆,驱动器映射,快截方式创建,程序加载,特殊文件夹(如系统文件夹)信息获取等功能。如果你的系统里支持ADO等COM部件,你同样可以使用。3.示例下面这个例子演示打开写字板查看文本文件,同时创建一个文本文件并写入一段话,你可以把他拷贝到写字板中,然后以.vbs为后缀存盘,之后双击他,test.vbsSet WshShell = Wscript.CreateObject(Wscript.Shell)WshShell.Run (notepad & Wscript.ScriptFullName)上面用SHELL对象启动程序Set fs = Wscript.CreateObject(Scripting.FileSystemObject)Set a = fs.CreateTextFile(c:testfile.txt, True)a.WriteLine(这是一个测试。)a.Close用COM对象Scripting.FileSystemObject操作文本文件4.哪里找到学习材料在PWS和IIS4的产品文档里有非常齐全的WSH文档,建议大家先学习学习,了解了解WSH的基础知识。补充:WSH-这个在词典中都很难找寻的名词,对许多朋友来讲也许还比较陌生。但正是WSH ,使 Windows 操作系统具备了更为强大的功能。它让我们在使用系统时拥有了许多的便利,但同时,也让我们的电脑遭遇了不少的麻烦。下面,就让我们一步步走进 WSH 的神秘世界,共同评判它的是非功过。一、WSH 是什么?WSH,是“Windows Scripting Host”的缩略形式,其通用的中文译名为“Windows 脚本宿主”。对于这个较为抽象的名词,我们可以先作这样一个笼统的理解:它是内嵌于 Windows 操作系统中的脚本语言工作环境。Windows Scripting Host 这个概念最早出现于 Windows 98 操作系统。大家一定还记得 MS-Dos 下的批处理命令,它曾有效地简化了我们的工作、带给我们方便,这一点就有点类似于如今大行其道的脚本语言。但就算我们把批处理命令看成是一种脚本语言,那它也是 98 版之前的 Windows 操作系统所唯一支持的“脚本语言”。而此后随着各种真正的脚本语言不断出现,批处理命令显然就很是力不从心了。面临这一危机,微软在研发 Windows 98 时,为了实现多类脚本文件在 Windows 界面或 Dos 命令提示符下的直接运行,就在系统内植入了一个基于 32 位 Windows 平台、并独立于语言的脚本运行环境,并将其命名为“Windows Scripting Host”。WSH 架构于 ActiveX 之上,通过充当 ActiveX 的脚本引擎控制器,WSH 为 Windows 用户充分利用威力强大的脚本指令语言扫清了障碍。再具体一点描述:你自己编写了一个脚本文件,如后缀为 .vbs 或 .js 的文件,然后在 Windows 下双击并执行它,这时,系统就会自动调用一个适当的程序来对它进行解释并执行,而这个程序,就是 Windows Scripting Host,程序执行文件名为 Wscript.exe (若是在命令行下,则为 Cscript.exe)。WSH 诞生后,在 Windows 系列产品中很快得到了推广。除 Windows 98 外,微软在 Internet Information Server 4.0、Windows Me、Windows 2000 Server,以及 Windows 2000 Professional 等产品中都嵌入了 WSH。现在,早期的 Windows 95 也可单独安装相应版本的 WSH。(附:各种版本 WSH 的安装程序可以从 /scripting 站点下载)。二、WSH 有什么用?WSH 的设计,在很大程度上考虑到了“非交互性脚本(noninteractive scripting)”的需要。在这一指导思想下产生的 WSH,给脚本带来非常强大的功能,例如:我们可以利用它完成映射网络驱动器、检索及修改环境变量、处理注册表项等工作;管理员还可以使用 WSH 的支持功能来创建简单的登陆脚本,甚至可以编写脚本来管理活动目录。而事实上,上述功能的实现,均与 WSH 内置的多个对象密切相关,这些内置对象肩负着直接处理脚本指令的重任。因此,我们也可以通过了解 WSH 的内置对象来探寻 WSH 可以实现的功能。WSH 共有 14 个内置对象,它们各自有着明确分工。具体而言,位于最底部的 Wscript ,主要作用是提取命令行变量,确定脚本文件名,确定 WSH 执行文件名(wscript.exe 还是 cscript.exe),确认 host 版本信息,创建、关连及分离 COM 对象,写入事件,按程序结束一个脚本文件的运行,向默认的输出设备(如对话框、命令行)输出信息等;WshArguments 的作用是获取全部的命令行变量; WshNamed 负责获取指定的命令行参数集;WshUnnamed 负责获取未经指定的命令行参数集;WshNetwork 的主要作用是开放或关闭网络共享,连接或断开网络打印机,映射或取消网络中的共享,获取当前登陆用户的信息;WshController 可以创建一个远程脚本对象;WshRemote 可以实现网络中对计算机系统的远程管理,也可按计划对其它程序/脚本进行处理;WshRemote Error 的作用在于:当一个远程脚本(WshRemote 对象)因脚本错误而终止时,获取可用的错误信息;WshShell 主要负责程序的本地运行,处理注册表项、创建快捷方式、获取系统文件夹信息,处理环境变量;WshShortcut 主要用于按计划创建快捷方式;WshSpecialfolders 用于获取任意一个 Windows 特殊文件夹的信息;WshURLShortcut 用于按程序要求创建进入互联网资源的快捷方式;WshEnvironment 用于获取任意的环境变量(如 WINDIR, PATH, 或 PROMPT);WshScriptExec 用于确定一个脚本文件的运行状态及错误信息。在这些内置对象的帮助下,我们就可以利用 WSH 充分发挥 VBScript 及 JScript 等脚本的强大威力,极大地提高我们的工作效率。一、 概述宿主、脚本引擎和对象模型二、 基本概念元素、对象、方法和属性。元素对象方法属性三、 VBScript基础1、变量声明。2、常用常量。3、语法。四、 WSHWindows脚本宿主Windows宿主脚本(Windows Script Host)为ActiveX脚本引擎提供了一个不依赖于语言的脚本宿主。是windows下的一种脚本运行环境。它不是一种脚本语言、也不是单单是一种对象模型。WSH使用一下的文件类型;普通文件.vbs文件、.js文件和.wsh文件。和加密的文件.vbe文件、.Jse文件。(加密编码工具Script Encoder)如图(1)的灰色部分所示。脚本的运行环境:1、 WSH宿主有两种程序:WScript.exe和CScript.exe。WScript.exe基于GUI。CScript.exe基于CLI(command line)。Console界面的好处:添加运行参数、标准输出(Stdout)、重定向、中止运行和方便的计划任务等;可以解决很多难以在GUI下解决的问题。提示:两者参数几乎完全一致。可使用/H参数修改默认宿主。2、 脚本引擎:vbscript.dll、jscript.dll和第三方引擎(Perl Script、python等引擎)。3、 对象模型(库):WMI、ADSI、ADO、CDO等。脚本加载和运行过程:1、关联到脚本引擎。宿主会通过scrobj.dll查询注册表把文件关联到相关的引擎;例如:VBScript对应vbscript.dll、Jscript对应jscript.dll和第三方的脚本引擎(需要另行安装的PerlScript|、python、JavaScript等)。2、语法预检查。在逐行解释运行前,先要检察语法是否有错。3、对于WSH的WScript对象,映射wshom.ocx等,调用WSH自带的对象模型。4、对于其他对象,与注册表交互。在使用Run-time、ADSI、WMI、ADO和CDO等其它对象模型时,映射相关的动态链接库。WSH主要对象:WScript、WshShell、WshNetwork、WshController。其他对象WshArguments、WshEnvironment、WshShortcut、WshSpecialFolder、WshUrlShortcut。1、Wscript。WSH内置对象,调用前不用绑定声明。主要方法Wscript .CreateObject和Wscript .GetObject用来引用其它对象模型,绑定一个COM对象;例如:引用ADSI创建AD帐户、引用ADO连接数据库等。略不同于VBScript内置的CreateObject和.GetObject语句。Wscript .Arguments(n)用来定制脚本运行参数Wscript .Echo方法,屏幕输出。Wscript.Sleep方法,暂停程序。Wscript.Quit方法,退出Wscript。2、WshShell.。使用:set objShell=Wscript .CreateObject(“Wscript .Shell”)。然后调用方法和属性等。WshShell.Exec、WshShell.Run、WshShell.Popup、WshShell.RegRead、WshShell.RedWrite和WshShell.Regdelete方法对注册表进行读、写和删除操作。3、WshNetwork。非常有用,WMI中没有可替换对象。方便地控制远程的网络驱动器和打印机。WshNetwork .UserDomain、WshNetwork.ComputerName、WshNetwork.UserName、WshNetwork.MapNetworkDrive、WshNetwork.AddWindowsPrinterConnection例:设置WshNetwork对象Set WshNetwork=WScript.CreateObject(WScript.Network)设置EnumNetworkDrivers参数集Set oDrives=WshNetwork.EnumNetworkDrives设置EnumPrinterConnections参数集Set oPrinters=WshNetwork.EnumPrinterConnections获取域名netinfo=域名:&WshNetWork.UserDomain&Chr(13)获取计算机名netinfo=netinfo&计算机名:&WshNetWork.ComputerName&Chr(13)获取用户名netinfo=netinfo&用户名:&WshNetWork.UserName&Chr(13)把输出内容传送到对话框WScript.Echo(netinfo)如果有映射网络驱动器,也把网络映射驱动器信息传送至对话框netmap=For i=0 to oDrives.Count()-1 step 2 netmap=netmap&驱动器&oDrives.Item(i)&=&oDrives.Item(i+1)&Chr(13)NextIf netmap ThenWScript.Echo(网络驱动器:&Chr(13)+netmap)End If如果有网络打印机,也把网络映射驱动器信息传送至对话框netprn=For i=0 to oPrinters.Count()-1 step 2 netprn=netprn&端口&oPrinters.Item(i)&=&oPrinters.Item(i+1)&Chr(13)NextIf netprn ThenWScript.Echo(网络打印机:&Chr(13)+netprn)End If4、WshController。WMI中有相关对象可以控制远程计算机。WSH错误信息和错误处理:错误信息错误处理(异常处理、Error Handle)忽略错误,继续执行On Error Resume NextErr对象Err.Number、Err.Description和Err.Clear等WSH程序实例:1、 信息显示例1:在MsgBox中显示您好!WSH!WelcomeMessage=您好!WSH!WelcomeText=Windows Scripting Host 实例显示提示信息MsgBox WelcomeMessage,vbinformation,WelcomeText例2:显示环境变量用msgbox函数显示strText的子程序Sub show_env(strText) MsgBox strText,vbinfomation,WSH显示环境变量End Sub创建WSHshell对象Dim WSHshellSet WSHshell=WScript.CreateObject(Wscript.shell)初始化参数intIndex=0strText=在win98下只提供PROCESS参数For Each strEnv in WshShell.Environment(PROCESS) 参数顺序计数intIndex=intIndex+1将PROCESS参数strEnv的值以一定格式写入strTextstrText=strText&vbcrlf&Right( &intIndex,4)& &strEnvNext调用显示对话框子程序Call show_env(StrText)例3:显示系统服务信息,并写入一个文件Dim oArgs, strServerName, oServiceSet, oWshNetwork,SrvinfoSet oArgs = WScript.ArgumentsIf oArgs.Count 0 Then strServerName = trim(oArgs(0)Else strServerName = LocalHostEnd IfSet oServiceSet = GetObject(winmgmts:impersonationLevel=impersonate!/ & strServerName & /root/cimv2).InstancesOf(Win32_Service)If strServerName = LocalHost Then Set oWshNetwork = WScript.CreateObject(WScript.Network) Srvinfo=计算机 &oWshNetwork.ComputerName & 的系统服务信息如下: Set oWshNetwork = NothingElse Srvinfo=计算机 &strServerName & 的系统服务信息如下: End IfSrvinfo=Srvinfo&vbcrlfSrvinfo=Srvinfo&vbcrlfFor each Service in oServiceSet将服务的各项信息写入Srvinfo字符串Srvinfo=Srvinfo&服务名称:&Service.Name&vbcrlfSrvinfo=Srvinfo&描述信息:&Service.Description&vbcrlfSrvinfo=Srvinfo&当前状态:&Service.State&vbcrlfSrvinfo=Srvinfo&vbcrlfNextWScript.Echo SrvinfoSet oServiceSet = Nothing写文本文件的子程序Sub writefile(detail)Set fs=CreateObject(Scripting.FileSystemObject)Set file=fs.CreateTextFile(服务信息.txt,True)file.Write detailfile.CloseSet fs=nothingEnd Sub将驱动器信息作写入文本文件 Call writefile(Srvinfo)2、 参数拖放操作例4:参数拖放操作;拖放文件到脚本上显示文件名 设置objArgs为Arguments对象Set objArgs=WScript.Arguments设定一个以objArgs对象的数目为循环次数的For循环For i=0 to objArgs.Count-1通过向Echo依次将objArgs所获得的被拖放的文件完整名称和路径Wscript.Echo objArgs(i)Next3、 建立快捷方式例5:创建桌面快捷方式用CreateObject的方法开启WshShellSet WshShell=WScript.CreateObject(WScript.Shell)打开特定的文件夹为桌面DesktopstrDesktop=WshShell.SpecialFolders(Desktop)在指定的文件夹中创建“画笔.lnk”快捷方式Set oShellLink=WshShell.CreateShortcut(strDesktop&画笔.lnk)为快捷方式指定目标程序oShellLink.TargetPath=mspaint.exe指定风格oShellLink.WindowStyle=1指定其热键oShellLink.Hotkey=CTRL+SHIFT+P指定其图标oShellLink.IconLocation=mspaint.exe,1注释快捷方式oShellLink.Description=由WSH创建的画笔快捷方式指定其工作目录oShellLink.WorkingDirectory=strDesktop保存快捷方式oShellLink.Save在指定的文件夹创建“清华大学出版社.url”快捷方式Set oUrlLink=WshShell.CreateShortcut(strDesktop&清华大学出版社.url)指定URL路径oUrlLink.TargetPath=保存URL快捷方式oUrlLink.Save4、 模拟键盘输入例6:模拟键盘输入打开windows附件中的计算器并激活窗体,然后模拟用户依次输入1,+,2,enter,*,3,enter.计算器会计算每一步的结果.最后键入ALI+F4关闭计算器创建WshShell对象set WshShell=Wscript.CreateObject(WScript.Shell)调用计算器程序WshShell.Run calc等待100毫秒WScript.Sleep 100激活计算器窗口WshShell.AppActivate CalculatorWScript.Sleep 100将用户通过键盘输入的1+送至计算器窗口WScript.Sleep 100WshShell.SendKeys 1+等待500毫秒WScript.Sleep 500将用户通过键盘输入的2送至计算器窗口WshShell.SendKeys 2WScript.Sleep 500将用户通过键盘输入的Enter送至计算器窗口WshShell.SendKeys WScript.Sleep 500将用户通过键盘输入的*3送至计算器窗口WshShell.SendKeys *3WScript.Sleep 500将用户通过键盘输入的Enter送至计算器窗口WshShell.SendKeys WScript.Sleep 2000将用户通过键盘输入的ALT+F4送至计算器窗口激活计算器窗口WshShell.SendKeys %F45、 FSOFileSystemObjec(FSO)包含了处理文件系统的所有基本方法。例如复制和删除文件与文件夹等。File Access对象有3个集。Files集、Folder集和Drive集。例7:显示文件信息自定义函数及其调用首先定义一个Dispfile函数Function dispfile(fn)Dim fi,attOn Error Resume Next获取File对象Set fi=fs.GetFile(fn)清空att字符串att=将文件名、文件类型、文件大小和该文件最后的访问时间写入attatt=att&fn&:&vbcrlfatt=att&文件类型:&fi.type&vbcrlfatt=att&文件大小:&CStr(fi.Size/1024)&KB&vbcrlfatt=att&该文件的最后访问时间:&CStr(fi.DateLastAccessed)&vbcrlfdispfile=attEnd FunctionSet fs=CreateObject(Scripting.FileSystemObject)Dim fileinfor清空fileinfor字符串fileinfor=调用Dispfile函数获取C:io.sys的文件信息fileinfor=fileinfor&dispfile(c:io.sys)&vbcrlf调用Dispfile函数获取C:msdos.sys的文件信息fileinfor=fileinfor&dispfile(c:msdos.sys)&vbcrlf进入%SystemRoot%目录Set fo=fs.GetSpecialFolder(WindowsFolder)调用Dispfile函数获取%SystemRoot%目录下win.ini的文件信息fileinfor=fileinfor&dispfile(fo+win.ini)&vbcrlf调用Dispfile函数获取%SystemRoot%目录下system.ini的文件信息fileinfor=fileinfor&dispfile(fo+system.ini)&vbcrlfMsgBox fileinfor,vbinformation,显示文件信息例8:访问文本文件定义fs和file变量Dim fs,file创建文本文件的过程Sub writefile 设置fs为FileSystemObject Set fs=CreateObject(Scripting.FileSystemObject) 创建一个名为wshwrite.txt的文本文件,覆盖属性为True Set file=fs.CreateTextFile(wshwrite.txt,True) 写入一行Windows Scripting Host 实例 file.WriteLine(Windows Scripting Host 实例) 写入一行写入文件实例 file.WriteLine(写入文件实例) 关闭文件 file.Close 清除对fs的指定 Set fs=nothing End Sub 读文件的过程 Sub readfile 以只读的方式打开文件 ForReading=1 以ASCII码格式打开文件 TristateFalse=0 设置fs为FileSystemObject Set fs=CreateObject(Scripting.FileSystemObject) 打开wshwrite.txt文件,并使用iomod和format参数 Set file=fs.OpenTextFile(wshwrite.txt,ForReading,TristateFalse) 读入一行内容并显示在对话框中 MsgBox file.ReadLine 再读入一行内容并显示在对话框中 MsgBox file.ReadLine 关闭文件 file.Close 清除对fs的指定 Set fs=nothing End Sub writefile readfile例9:显示文件夹信息定义一个folderatt(fo)过程Function folderatt(fo)Dim attOn Error Resume Next将指定文件夹的文件数、子目录数和占用字节数依次写入folderatt字符串folderatt=folderatt&&目录:&vbcrlffolderatt=folderatt&该目录下的文件数:&CStr(fo.Files.Count)&vbcrlffolderatt=folderatt&该目录下的子目录数:&CStr(fo.SubFolders.Count)&vbcrlffolderatt=folderatt&该目录占用的字节数:&Int(CStr(fo.Size/1048576)&MB&vbcrlffolderatt=folderatt&该目录最后修改时间:&CStr(fo.DateLastModified)&vbcrlfEnd FunctionDim dispattdispatt=获得Folders集合Set fs=CreateObject(scripting.FileSystemObject)指定Windows文件夹,调用folderatt过程Set folder=fs.GetSpecialFolder(0)dispatt=dispatt+folderatt(folder)指定system文件夹,调用folderatt过程Set folder=fs.GetSpecialFolder(1)dispatt=dispatt+folderatt(folder)指定temp文件夹,调用folderatt过程Set folder=fs.GetSpecialFolder(2)dispatt=dispatt+folderatt(folder)Set fs=nothing将获取的文件夹信息显示在对话框中MsgBox dispatt例10:显示驱动器信息写文本文件的子程序Sub writefile(detail)Set fs=CreateObject(Scripting.FileSystemObject)Set file=fs.CreateTextFile(驱动器信息.txt,True)file.Write detailfile.CloseSet fs=nothingEnd Sub判断驱动器类型Sub dispdrvstat(drvname)Dim dndn=Left(drvname,1)Set drv=fso.GetDrive(dn)With drvSelect Case.DriveTypeCase 1dn=软盘Case 2dn=硬盘Case 4dn=光盘End Select 将驱动器的各项信息写入Drvinfo字符串drvinfo=drvinfo&驱动器类型&dn&vbcrlfif.IsReady Thendrvinfo=drvinfo&驱动器情况:已准备。&vbcrlfdrvinfo=drvinfo&驱动器未用容量:&Int(CStr(.Freespace/1048576)&MB&vbcrlfdrvinfo=drvinfo&驱动器全部容量:&Int(CStr(.Total
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025钢材购销的合同协议书
- 中小企业科创孵化器建设项目可行性研究报告模板-立项拿地
- 2025设备租赁标准合同模板
- 2025合作协议合同书范本
- 《财富管理业务培训》课件
- 2025车辆抵押合同文本
- 《全身血障》课件
- 社保劳动协议书范本
- 沙场征用补偿协议书
- 浇阳台协议书范本
- 2022美国301关税清单-中文版(全译版)
- DB34-T 4243-2022 智慧医院医用耗材SPD验收规范
- 过滤分离设备公司企业文化管理手册【参考】
- WS-T 405-2012 血细胞分析参考区间
- 联合国国际贸易法委员会公共采购示范法
- 拳击单招考试评分标准
- 15催收业务管理办法
- 金融调控法律制度PPT课件
- 旅游管理专业考试题
- 混凝土格构梁护坡施工方案设计
- 航空航天概论(课堂PPT)
评论
0/150
提交评论