Windows的“批处理”妙用几则
?牐牪灰蛭猈SH程序是脚本语言编写的,就小瞧它的功能,也不要因为称WSH是Windows的“批处理”,就把它同DOS时代的Batch File相提并论,DOS下Batch File能干的工作,WSH自然不在话下,但WSH的很多功能,DOS下的Batch File却只能望而却步。还有值得一提的是,WSH程序是基于对象的,这就使得它能够胜任比较复杂或面对对象的工作,它可以访问Execl文件,能够在桌面为应用程序建立快捷方式,还可以与网络相沟通,获取各种网络信息,还能够修改系统注册表,等等。下面就来具体看看它的各种应用:
?牐?1.显示与网络相关的信息(^17020903a^)
?牐牐?DisplayNetworkMessage.vbs
?牐燚im GetNetworkMessage,NetworkMessage
?牐燬et GetNetworkMessage=WScript.CreateObject(“WScript.Network”)??
?牐燦etworkMessage=“本网络相关的信息如下:”&Chr(13)&Chr(10)??
?牐燦etworkMessage=NetworkMessage&“工作组名为:”& GetNetworkMessage.UserDomain &Chr(13)&Chr(10)??
?牐燦etworkMessage=NetworkMessage&“使用者名为:”& GetNetworkMessage.UserName &Chr(13)&Chr(10)??
?牐燦etworkMessage=NetworkMessage&“计算机名为:”& GetNetworkMessage.ComputerName
?牐燤sgBox(NetworkMessage)??
?牐?2.执行指定的命令
?牐牐?RunTheCommand.vbs
?牐燚im RunCommand,CommandLine
?牐燬et RunCommand=WScript.CreateObject(“WScript.Shell”)??
?牐燙ommandLine=“c:\windows\explorer.exe c:\”
?牐牐Т嗣钍怯美创蚩白试垂芾砥鳌保⒔氲紺:盘根目录
?牐燫unCommand.Run(CommandLine)??
?牐?3.关闭Windows
?牐牐?Shutdown.vbs
?牐燚im Shutdown
?牐燬et Shutdown=WScript.CreateObject(“Shell.Application”)??
?牐燬hutdown.ShutdownWindows
?牐牐Т顺绦蛟诵兄缶统鱿帧肮乇障低场倍曰翱?
?牐?4.显示本机的IP地址(^17020903b^2)
?牐牐?DisplayIPAddress.vbs
?牐燚im GetIPAddress,IPAddress
?牐燬et GetIPAddress=WScirpt.CreateObject(“MSWinsock.Winsock”)??
?牐營PAddress=GetIPAddress.LocalIP
?牐燤sgBox(“Current Host Machine IP=”&IPAddress)??
?牐?5.给注册表加把锁(禁止使用注册表编辑器regedit.exe)
?牐牐?DisableRegistryTools.vbs
?牐燚im ChangeRegistry,KeyPaht,KeyData,KeyType
?牐燬et ChangeRegistry=WScript.CreateObject(“WScript.Shell”)??
?牐燢eyPaht=“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System\DisableRegistryTools”
?牐燢eyData=1
?牐燢eyType=“REG_DWORD”
?牐燙hangeRegistry.RegWrite KeyPaht,KeyData,KeyType
?牐燤sgBox(“注册表已成功加锁!”)
?牐牐Ц贸绦蛑葱泻笞⒉岜肀凰╚17020903c^3)
?牐?6.建立文档
?牐牐?CreateFile.vbs
?牐燚im CreateNewFile,NewFile,Text,FilePath
?牐燬et CreateNewFile=CreateObject(“Scripting.FileSystemObject”)??
?牐燭ext=“这些内容将被写进新的文本文件当中,并且该文件保存在c:\myfolder文件夹下。”
?牐燜ilePath=“c:\myfolder\myfile.txt”
?牐燬et NewFile=CreateNewFile.CreateTextFile(FilePath,True)??
?牐燦ewFile.WriteLine(Text)??
?牐燦ewFile.Close
?牐燤sgBox(“文档已成功建立!”)??
?牐?7.关闭计算机
?牐牐?CloseSystem.vbs
?牐燚im CloseSystem,CloseCmd
?牐燬et CloseSystem=WScript.CreateObject(“WScript.Shell”)??
?牐燙loseCmd=“rundll32.exe user.exe,exitwindwos”
?牐燙loseSystem.Run(CloseCmd)??
?牐犚陨狭τ镁肰BScript所写,略晓VB的人就可以看懂上述代码,如果你从未接触过VB,但使用过JavaScript那也好办,因为JScript与JavaScript差别甚微,相信下面的代码你一定很面熟。
?牐?//test.js(以下代码执行结果如^17020903d^4,^17020903e^5)??
?牐?//定义一个测试函数
?牐爁unction test(){?煟牓?
?牐?//创建对象
?牐爒ar WHSShell=WScript.CreateObject(“WScript.Shell”)??
?牐?//定义各种参数
?牐爒ar message_text=“请点击下面的按钮,进行测试”??
?牐爒ar timeout_data=0;??
?牐爒ar title_text=“按钮测试程序.....”;??
?牐爒ar button_style=65;??
?牐爒ar return_data;??
?牐爎eturn_data=WHSShell.Popup(message_text,timeout_data,title_text,button_style);?牔?
?牐爄f(return_data==1) WScript.Echo(“你点击了'确定'按钮!\r\n该按钮的返回值为:”+return_data)??
?牐爀lse WScript.Echo(“你点击了'取消'按钮!\r\n该按钮的返回值为:”+return_data)??
?牐爙??
?牐?//调用此测试函数
?牐爐est();?煟牔?
?牐燱SH中的各种对象(Object)及其方法(Method),对于VBScript和JScript来说是通用,因此本文所举的七例应用就可以很容易的换成JScript代码,我这里就不再一一复述。
?牐牐?