WshShell 对象.docx
《WshShell 对象.docx》由会员分享,可在线阅读,更多相关《WshShell 对象.docx(10页珍藏版)》请在冰点文库上搜索。
WshShell对象
WshShell对象
ProgIDWscript.Shell
文件名WSHom.Ocx
CLSIDF935DC22-1CF0-11d0-ADB9-00C04FD58A0B
IIDF935DC21-1CF0-11d0-ADB9-00C04FD58A0B
下表说明和WshShell对象有关的属性。
属性说明
Environment返回WshEnvironment集合对象。
SpecialFolders使用WshSpecialFolders对象提供对Windowsshell文件夹的访问,如桌面文件夹,开始菜单文件夹和个人文档文件夹。
下表说明和WshShell对象有关的方法。
方法说明
CreateShortcut创建并返回WshShortcut对象。
ExpandEnvironmentStrings扩展PROCESS环境变量并返回结果字符串。
Popup显示包含指定消息的消息窗口。
RegDelete从注册表中删除指定的键或值。
RegRead从注册表中返回指定的键或值。
RegWrite在注册表中设置指定的键或值。
Run创建新的进程,该进程用指定的窗口样式执行指定的命令。
WshShell.Environment
Environment属性返回WshEnvironment对象。
语法
WshShell.Environment([strType])=objWshEnvironment
注释
若strType指定了环境变量所处的位置,可能值为"System"、"User"、"Volatile"和"Process"。
若未提供strType,则该方法在WindowsNT中检索系统环境变量或在Windows95中检索进程环境变量。
对于Windows95,strType参数仅支持"Process"。
下列变量是由Windows操作系统提供的。
脚本也可获取由其他应用程序设置的环境变量。
名称说明
NUMBER_OF_PROCESSORS计算机上运行的处理器数目。
PROCESSOR_ARCHITECTURE用户工作站使用的处理器类型。
PROCESSOR_IDENTIFIER用户工作站的处理器ID。
PROCESSOR_LEVEL用户工作站的处理器级。
PROCESSOR_REVISION用户工作站的处理器版本。
OS用户工作站所用的操作系统。
COMSPEC用于运行“命令提示”窗口的命令(通常为cmd.exe)。
HOMEDRIVE本地主驱动器(通常为C驱动器)。
HOMEPATH用户的默认路径(在WindowsNT上通常为usersdefault)。
PATH路径环境变量。
PATHEXT可执行文件的扩展名(通常为.com、.exe、.bat或.cmd)。
PROMPT命令提示符(通常为$P$G)。
SYSTEMDRIVE系统所在的本地驱动器(例如,c:
)。
SYSTEMROOT系统目录(例如,c:
winnt)。
和WINDIR相同。
WINDIR系统目录(例如c:
winnt)。
和SYSTEMROOT相同。
TEMP存储临时文件的目录(例如,c:
temp)。
用户可更改。
TMP存储临时文件的目录(例如,c:
temp)。
用户可更改。
示例
''RetrievetheNUMBER_OF_PROCESSORSsystemenvironmentvariable
SetWshShell=Wscript.CreateObject("Wscript.Shell")
SetWshSysEnv=WshShell.Environment("SYSTEM")
Wscript.EchoWshSysEnv("NUMBER_OF_PROCESSORS")
请参阅
WshEnvironment对象
WshEnvironment对象
WshEnvironment对象未直接给出,可用WshShell.Environment属性来访问。
ProgIDN/A
文件名WSHom.Ocx
CLSID
IID
下表描述与WshEnvironment对象关联的属性。
属性说明
Item获取或设置指定的环境变量值。
Count枚举项的数目。
length枚举项的数目(JScript)。
下表描述与WshEnvironment对象关联的方法。
方法说明
Remove删除指定的环境变量。
WshShell.SpecialFolders
SpecialFolders属性提供WshSpecialFolders对象以便访问Windows的shell文件夹,例如桌面文件夹、开始菜单文件夹和个人文档文件夹。
语法
WshShell.SpecialFolders=objWshSpecialFolders
示例
''Thiscodefragmentshowshowtoaccessthedesktopfolder
SetWshShell=Wscript.CreateObject("Wscript.Shell")
MsgBox"Yourdesktopis"&WshShell.SpecialFolders("Desktop")
请参阅
WshSpecialFolders对象
WshSpecialFolders对象
该对象未直接给出。
要得到WshSpecialFolders对象,请使用WshShell.SpecialFolders属性。
ProgIDN/A
文件名WSHom.Ocx
CLSID
IID
下表描述与WshSpecialFolders对象关联的属性。
属性描述
Item指定文件夹的完整路径(默认)。
Count枚举项的数目。
length枚举项的数目(JScript)。
WshSpecialFolders.Item
Item属性返回由strFolderName指定的文件夹的完整路径。
它是默认属性。
语法
WshShell.SpecialFolders.Item("strFolderName")=strFolderPath
WshShell.SpecialFolders("strFolderName")=strFolderPath
注释
若请求的文件夹(strFolderName)不可用,则WshShell.SpecialFolders("strFolderName")返回NULL。
例如,Windows95没有AllUsersDesktop文件夹,如果strFolderName=AllUsersDesktop,则返回NULL。
Windows95和WindowsNT4.0操作系统提供下列指定文件夹:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
示例
''ThisfragmentreturnsthefullpathfortheWindowsDesktopfolder
SetWshShell=Wscript.CreateObject("Wscript.Shell")
StrMyDesktop=WshShell.SpecialFolders("Desktop")
''Listallspecialfolders
ForEachstrFolderInWshShell.SpecialFolders
MsgBoxstrFolder
Next
请参阅
WshShell.SpecialFolders属性
WshShell.CreateShortcut
CreateShortcut方法创建WshShortcut对象并将其返回。
如果快捷方式标题以.url结尾,就会创建WshURLShortcut对象。
语法
WshShell.CreateShortcut(strPathname)=objShortcut
示例
''Thiscodefragmentcreatesashortcut
''tothecurrentlyexecutingscript
SetWshShell=Wscript.CreateObject("Wscript.Shell")
SetoShellLink=WshShell.CreateShortcut("CurrentScript.lnk")
oShellLink.TargetPath=Wscript.ScriptFullName
oShellLink.Save
SetoUrlLink=WshShell.CreateShortcut("MicrosoftWebSite.URL")
oUrlLink.TargetPath=""
oUrlLink.Save
请参阅
WshShortcut对象、WshUrlShortcut对象
WshShortcut对象
该对象未直接给出。
要获得WshShortcut对象,请使用WshShell.CreateShortcut方法。
ProgIDN/A
文件名WSHom.Ocx
CLSIDF935DC28-1CF0-11d0-ADB9-00C04FD58A0B
IIDF935DC27-1CF0-11d0-ADB9-00C04FD58A0B
下表说明和WshShortcut对象有关的属性。
属性说明
Arguments快捷方式对象的参数。
Description快捷方式对象的说明。
Hotkey快捷方式对象的热键。
IconLocation快捷方式对象的图标位置。
TargetPath快捷方式对象的目标路径。
WindowStyle快捷方式对象的窗口样式。
WorkingDirectory快捷方式对象的工作目录。
下表说明与WshShortcut对象有关的方法。
方法说明
Save将快捷方式存储到指定的文件系统中。
WshShortcut.Arguments
Arguments属性提供快捷方式对象的参数。
语法
WshShortcut.Arguments=strArguments
WshShortcut.Description
Description属性提供快捷方式对象的说明。
语法
WshShortcut.Description=strDescription
WshShortcut.Hotkey
HotKey属性提供快捷方式对象的热键。
热键是启动或切换程序的键盘快捷方式。
语法
WshShortcut.HotKey=strHotKey
注释
strHotKey的BNF语法如下:
Hotkey:
:
=modifier*keyname
modifier:
:
="ALT+"|"CTRL+"|"SHIFT+"|"EXT+"
keyname:
:
="A".."Z"|
"0".."9"|
"Back"|"Tab"|"Clear"|"Return"|
"Escape"|"Space"|"Prior"|...
所有键的名称都可以在WINUSER.H中找到。
热键不区分大小写。
热键只能激活位于Windows桌面或Windows“开始”菜单的快捷方式。
Windows资源管理器不接受ESC、ENTER、TAB、SPACE、PRINTSCREEN或BACKSPACE,即使WshShortcut.Hotkey遵循Win32API支持它们。
因此,建议在快捷方式中不要用这些键。
示例
SetWshShell=Wscript.CreateObject("Wscript.WshShell")
strDesktop=WshShell.SpecialFolders("Desktop")
SetoMyShortcut=WshShell.CreateShortcut(strDesktop&"a_key.lnk")
OMyShortcut.TargetPath="%windir%notepad.exe"
oMyShortCut.Hotkey="ALT+CTRL+F"
oMyShortCut.Save
Wscript.EchooMyShortCut.HotKey="Alt+Ctrl+F"
请参阅
WshSpecialFolders对象
WshShortcut.IconLocation
IconLocation属性提供快捷方式对象的图标位置。
图标位置的格式应为"Path,index"。
语法
WshShortcut.IconLocation=strIconLocation
WshShortcut.TargetPath
TargetPath属性提供快捷方式对象的目标路径。
语法
WshShortcut.TargetPath=strTargetPath
WshShortcut.WindowStyle
WindowStyle属性提供快捷方式对象的窗口样式。
语法
WshShortcut.WindowStyle=natWindowStyle
WshShortcut.WorkingDirectory
WorkingDirectory为一个快捷方式对象提供工作目录。
语法
WshShortcut.WorkingDirectory=strWorkingDirectory
WshShortcut.Save
Save方法把快捷方式对象保存到由FullName属性指定的位置。
语法
WshShortcut.Save
WshUrlShortcut对象
该对象未直接给出。
要获取WshUrlShortcut对象,可使用WshShell.CreateShortcut方法。
ProgIDN/A
文件名WSHom.Ocx
CLSID
IID下表说明了和WshUrlShortcut对象有关的属性。
属性说明
FullNameURL快捷方式对象的完整路径。
TargetPathURL快捷方式对象的目标路径。
下表说明了和WshUrlShortcut对象有关的方法。
方法说明
Save将快捷方式保存到指定的文件系统中。
WshUrlShortcut.FullName
FullName属性提供快捷方式对象的完整路径。
语法
WshUrlShortcut.FullName=strFullName
WshUrlShortcut.TargetPath
TargetPath属性提供快捷方式对象的目标路径。
语法
WshUrlShortcut.TargetPath=strTargetPath
WshUrlShortcut.Save
Save方法保存一个快捷方式,该快捷方式指向FullName属性指定的位置。
语法
WshUrlShortcut.Save
WshShell.ExpandEnvironmentStrings
ExpandEnvironmentStrings方法在strString中扩展PROCESS环境变量并返回结果字符串。
变量被''%''字符括起。
环境变量不区分大小写。
语法
WshShell.ExpandEnvironmentStrings(strString)=strExpandedString
示例
MsgBox"Promptis"&WshShell.ExpandEnviromentStrings("%PROMPT%")
WshShell.Popup
Popup方法显示一个弹出式消息框窗口,消息框中包含的消息由strText指定。
该消息框的窗口标题由strTitle指定。
若strTitle省略,则窗口标题为WindowsScriptingHost。
语法
WshShell.Popup(strText,[natSecondsToWait],[strTitle],[natType])=intButton
注释
若提供natSecondsToWait且其值大于零,则消息框在natSecondsToWait秒后关闭。
natType的含义与其在Win32?
MessageBox函数中相同。
下表显示natType中的值及含义。
下表中的值可以组合。
按钮类型
值说明
0显示“确定”按钮
1显示“确定”和“取消”按钮
2显示“终止”、“重试”和“忽略”按钮
3显示“是”、“否”和“取消”按钮
4显示“是”和“否”按钮
5显示“重试”和“取消”按钮
图标类型
值说明
16显示停止标记图标
32显示问号图标
48显示感叹号图标
64显示信息标记图标
以上两个表并不涵盖natType的所有值。
完整的列表请参阅Win32文档。
返回值intButton指示用户所单击的按扭编号。
若用户在natSecondsToWait秒之前不单击按扭,则intButton设置为-1。
值说明
1“确定”按扭
2“取消”按扭
3“终止”按扭
4“重试”按扭
5“忽略”按扭
6“是”按扭
7“否”按扭
示例
SetWshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.Popup"Wheredoyouwanttogotoday?
"
请参阅
Wscript.Echo方法
Wscript.Echo
Echo方法在窗口(Wscript.exe中)或“命令提示符”窗口(Cscript.exe中)显示参数。
参数用空格分隔。
在Cscript.exe中,该方法在显示最后一个参数之后输出一对回车/换行(CRLF)。
语法
Wscript.Echo[anyArg...]
示例
Wscript.Echo
Wscript.Echo1,2,3
Wscript.Echo"WindowsScriptingHostiscool."
WshShell.RegDelete
RegDelete从注册表中删除名为strName的键或值。
语法
WshShell.RegDeletestrName
参数
strName
如果strName以反斜杠()结束,则该方法删除键而不是值。
strName参数必须以下列之一的根键名开始:
短根键名长根键名
HKCUHKEY_CURRENT_USER
HKLMHKEY_LOCAL_MACHINE
HKCRHKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
示例
SetWshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.RegDelete"HKCUScriptEngineValue"''Deletevalue"Value"
WshShell.RegDelete"HKCUScriptEngineKey"''Deletekey"Key"
请参阅
WshShell.RegRead方法、WshShell.RegWrite方法
WshShell.RegRead
RegRead方法返回名为strName的注册表键或值。
语法
WshShell.RegRead(strName)=strValue
参数
strName
如果strName以反斜杠()结束,则该方法返回键,而不是值。
strName参数必须以下列根键名开始。
ShortLong
HKCUHKEY_CURRENT_USER
HKLMHKEY_LOCAL_MACHINE
HKCRHKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
注释
RegRead方法仅支持REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY和REG_MULTI_SZ数据类型。
若注册表有其他数据类型,RegRead返回DISP_E_TYPEMISMATCH。
示例
SetWshShell=Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead("HKCUScriptEngineVal")''Readfromvalue"Val"
WshShell.RegRead("HKCUScriptEngineKey")''Readfromkey"Key"
请参阅
WshShell.RegDelete方法、WshShell.RegWrite方法
WshShell.RegWrite
RegWrite方法设置名为strName的注册表键或值。
语法
WshShell.RegWritestrName,anyValue,[strType]
参数
strName
若strName以一个反斜杠()结束,则该方法设置键,而不是值。
strName参数必须以下列根键名开头。
ShortLong
HKCUHKEY_CURRENT_USER
HKLMHKEY_LOCAL_MACHINE
HKCRHKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG
anyValue
当strType为REG_SZ或REG_EXPAND_SZ时,RegWrite方法自动将anyValue转换为字符串。
若strType为REG_DWORD,则anyValue被转换为整数。
若strType为REG_BINARY,则anyValue必须是一个整数。
strType
RegWrite方法支持strType为REG_SZ、REG_EXPAND_SZ、REG_DWORD和REG_BINARY。
若其他的数据类型被作为strType传递,RegWrite返回E_INVALIDARG。
示例
SetWshShell=Wscript.CreateObject("Wscript.S