VBS 基础知识

在项目中用到了一些VBS脚本,查阅了一些资料,在这里做一个记录。

 

VBS 基本概念

VBScript 是微软公司出品的脚本语言,是 Visual Basic 的轻量级的版本。

变量

类型通用,不需特别声明变量类型。

可以事先不声明,脚本会相应地自动创建变量。不过,这不是一种好习惯,因为在脚本书写时可能会拼错变量。可以将 Option Explicit 置于脚本顶端,来防止脚本自动创建,则所有变量必须事先声明,才能使用。

 

WSH对象模型 (Windows Script Host)

 

常用对象

WScript对象

Provides access to root object for the Windows Script Host object model.

Arguments属性

返回WshArguments对象(外部程序传入的变量数组)。

Set objArgs = WScript.Arguments
For I = 0 to objArgs.Count - 1
    WScript.Echo objArgs(I)
Next

 

FullName属性

返回Console的绝对路径。

WScript.Echo (WScript.FullName);
'C:\WINNT\System32\cscript.exe

 

CreateObject方法

创建一个COM对象。

'创建WshNetwork对象
Set WshNetwork = WScript.CreateObject("WScript.Network")

 

Echo方法

显示文字;

显示的方式取决于平台:

Wscript.exe: graphical message box

Cscript.exe: command console window

 

Quit方法

退出脚本,并返回可选的错误代码(脚本正常结束,默认返回0)。

'返回错误代码为1。
WScript.Quit (1);
'以下脚本程序不会执行。
i = 0;

 

Sleep方法

挂起脚本;整型变量代表需要挂起脚本的时间(单位毫秒)。

WScript.Sleep 100

 

WshShell对象

Provides access to the native Windows shell.

'定时关机
set ws=wscript.createobject("wscript.shell")
ws.run "shutdown -s -t 3600000",0
'注:其中的“3600000”是设定的自动关机时间,可以自行更改。
set WshShell = WScript.CreateObject("WScript.Shell")
strDesktop = WshShell.SpecialFolders("Desktop")
set oShellLink = WshShell.CreateShortcut(strDesktop & "\Shortcut Script.lnk")
oShellLink.TargetPath = WScript.ScriptFullName
oShellLink.WindowStyle = 1
oShellLink.Hotkey = "CTRL+SHIFT+F"
oShellLink.IconLocation = "notepad.exe, 0"
oShellLink.Description = "Shortcut Script"
oShellLink.WorkingDirectory = strDesktop
oShellLink.Save

 

参考资料

WScript Object: https://msdn.microsoft.com/en-us/library/at5ydy31(v=vs.84).aspx

Windows Script Host Basics: https://msdn.microsoft.com/en-us/library/ec0wcxh3(VS.85).aspx

Windows Script Host OjectModel: https://msdn.microsoft.com/en-us/library/a74hyyw0(v=vs.85).aspx

Windows Script Host Reference: https://msdn.microsoft.com/en-us/library/98591fh7.aspx

Windows Script Host Wiki: https://en.wikipedia.org/wiki/Windows_Script_Host

 

posted @ 2017-03-28 12:43  LuciaKally  阅读(906)  评论(0编辑  收藏  举报