windows脚本实例

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

windows脚本实例.txt37真诚是美酒,年份越久越醇香浓烈;真诚是焰火,在高处绽放才愈显美丽;真诚是鲜花,送之于人,手有余香。从Windows 98时代起,各种脚本文件不断出现,脚本文件的作用是为了实现各种脚本文件在Windows 界面或Dos 命令提示符下的直接运行,微软就在系统内植入了一个基于32 位Windows 平台、独立的脚本运行环境,并将其命名为“Windows Scripting Host(Windows 脚本宿主以下简称WSH)”。

WSH 诞生后,在 Windows 系列产品中很快得到了推广。除 Windows 98 外,微软在 Internet Information Server、Windows ME、Windows 2000系列产品以及 Windows XP Professional 等产品中都嵌入了 WSH。一般来说,各种软件总要考虑多数人的习惯和需求,而对于一些个性化很强的需求,通用软件则很难满足。现在利用WSH,我们可以完成很多有趣又实用的功能,而且实现代码非常简单,而且完全是为自己量身定做,100%满足自己的需求。这么简单、实用有有趣的东西,怎么可以放过呢?

一、WSH 是怎么样工作的

WSH正常工作的前提条件是系统中必须有IE3.0以上的版本,因为 WSH 在工作时需要使用IE 中的 VBScript 和 JScript 解释引擎。

首先,我们来看一个最简单的例子,打开记事本,在其中写下:

WScript.Echo("你好!电脑")

然后将它为以 .vbs 或 .js 为后缀名(千万不能保存为TXT文件,保存的时候在“文件类型”中选择“所有文件”)的文件进行保存,然后关掉这个记事本。从文件的图标来看已经变成一个脚本文件,双击执行这个文件,看看结果吧(如图1),我们编辑的第一个脚本已经成功运行啦!

图1

现在,就让我们来看看脚本文件经由WSH 执行的过程。首先WSH根据脚本文件后缀名,在系统注册表中查询所需的脚本引擎时,如VBScript或者JScript。然后使用相应的脚本引擎执行脚本命令,其中,一些脚本指令会使用到WSH的内置对象(如处理注册表项),这时,脚本指令就会向WSH提出请求,并由WSH完成这些指令。

那么,如何去编写并运行WSH脚本呢?WSH脚本文件的编写十分方便,你可以选用任意一个文字编辑器进行编写,写完后,你只需将它保存为 WSH 所支持的文件名就行了(如 .js 文件、.vbs 文件)。最常用的编辑器就是我们编写第一个脚本文件用到的记事本(Notepad)了。

一、WSH初步

下面,我们来看看一些WSH的初步实例,其中每个实例可以实现一个简单的功能,在我们了解每个实例的功能后,我们会把这些例子综合成一个非常实用的脚本,帮助你实现实用、个性化的强大功能。

1.在桌面创建快捷方式

WSHShell = WScript.CreateObject("WScript.Shell");

DesktopPath = WSHShell.SpecialFolders("Desktop");

Shortcut1 = WSHShell.CreateShortcut(DesktopPath + "\\记事本快捷方式.lnk"); Shortcut1.TargetPath = "c:\\Windows\\notepad.exe";

Shortcut1.Save();

其中SpecialFolders这个函数是用来读取桌面路径的,取得桌面路径后,在桌面上创建一个“\记事本快捷方式.lnk”的文件,并将这个快捷方式文件的目标指向 Notepad.exe,最后将这些信息保存,这个脚本的工作就完成了。

2.执行特定的命令

下列这个示例会用记事本打开“ C:\autoexec.bat”文件,并开启 DOS 命令窗口(并列出执行 dir c:\Windows 的结果),程序代码如下:

// 产生 WSH Shell

shell = WScript.CreateObject("WScript.Shell");

// 开启记事本并加载 c:\autoexec.bat

shell.Run("notepad.exe c:\\autoexec.bat");

// 开启 DOS 命令窗口并执行 dir c:\Windows

shell.Run("cmd /K dir c:\\Windows");

在上述范例中,所开启的应用程序会保持开启状态,而 WSH 会持续执行其后的程序代码。若要等待应用程序被关闭后,才继续执行其后的 WSH 程序代码,可以在 run() 之后再加上其它参数。如我们需要在关闭Notepad后再继续执行,应该怎么办呢?

// 如何由 WSH 执行其它应用程序,并等待应用程序结束后才继续执行 WSH 程序代码

shell = new ActiveXObject("WScript.Shell");

intReturn = shell.Run("notepad " + WScript.ScriptFullName, 1, true);

shell.Popup("记事本已经被关闭!");

3.列出一个特定目录下的所有文件

//创建文件系统对象

fso = new ActiveXObject("Scripting.FileSystemObject");

//指向指定的文件夹

dir="c:\\Windows\\temp";

fsofolder = fso.GetFolder(dir);

// 搜集文件夹中包含的文件

colFiles = fsofolder.Files;

fc = new Enumerator( colFiles );

//显示并继续读取其它文件的文件名直到完成

WScript.Echo("Files under \""+dir+"\":");

for (; !fc.atEnd(); fc.moveNext() ){

WScript.Echo(fc.item());

}

脚本执行后会将指定目录中(C:\windows\temp)的所有文件一一列出来。

4.显示本机IP地址

ws = new ActiveXObject( "MSWinsock.Winsock" );

WScript.Echo("本机IP地址是:" + ws.LocalIP);

通过MSWinsock.Winsock这个函数将IP地址收集起来并进行显示。

相关文档
最新文档