Wscript.Shell 對象詳細介紹

來源:互聯網
上載者:User

分類:程式
WshShell 對象
ProgID Wscript.Shell
檔案名稱 WSHom.Ocx
CLSID F935DC22-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC21-1CF0-11d0-ADB9-00C04FD58A0B

下表說明和 WshShell 對象有關的屬性。
屬性 說明
Environment 返回 WshEnvironment 集合對象。
SpecialFolders 使用 WshSpecialFolders 對象提供對 Windows shell 檔案夾的訪問,如案頭檔案夾,開始菜單檔案夾和個人文檔檔案夾。

下表說明和 WshShell 對象有關的方法。
方法 說明
CreateShortcut 建立並返回 WshShortcut 對象。
ExpandEnvironmentStrings 擴充 PROCESS 環境變數並返回結果字串。
Popup 顯示包含指定訊息的訊息視窗。
RegDelete 從註冊表

中刪除指定的鍵或值。
RegRead 從註冊表

中返回指定的鍵或值。
RegWrite 在註冊表

中設定指定的鍵或值。
Run 建立新的進程,該進程用指定的視窗樣式執行指定的命令。

WshShell.Environment
Environment 屬性返回 WshEnvironment 對象。
文法
WshShell.Environment ( [strType]) = objWshEnvironment
注釋
若 strType 指定了環境變數所處的位置,可能值為 "System"、"User"、"Volatile" 和 "Process"。若未提供 strType,則該方法在 Windows NT 中檢索系統內容變數或在 Windows 95 中檢索進程環境變數。
對於 Windows 95,strType 參數僅支援 "Process"。
下列變數是由 Windows 作業系統提供的。指令碼也可擷取由其他應用程式設定的環境變數。
名稱 說明
NUMBER_OF_PROCESSORS 電腦上啟動並執行處理器數目。
PROCESSOR_ARCHITECTURE 使用者工作站使用的處理器類型。
PROCESSOR_IDENTIFIER 使用者工作站的處理器 ID。
PROCESSOR_LEVEL 使用者工作站的處理器級。
PROCESSOR_REVISION 使用者工作站的處理器版本。
OS 使用者工作站所用的作業系統。
COMSPEC 用於運行“命令提示”視窗的命令(通常為 cmd.exe)。
HOMEDRIVE 本地主磁碟機(通常為 C 磁碟機)。
HOMEPATH 使用者的預設路徑(在 Windows NT 上通常為 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)。使用者可更改。

樣本
'' Retrieve the NUMBER_OF_PROCESSORS system environment variable
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set WshSysEnv = WshShell.Environment("SYSTEM")
Wscript.Echo WshSysEnv("NUMBER_OF_PROCESSORS")
請參閱
WshEnvironment 對象

WshEnvironment 對象
WshEnvironment 對象未直接給出,可用 WshShell.Environment 屬性來訪問。
ProgID N/A
檔案名稱 WSHom.Ocx
CLSID
IID

下表描述與 WshEnvironment 對象關聯的屬性。
屬性 說明
Item 擷取或設定指定的環境變數值。
Count 枚舉項的數目。
length 枚舉項的數目 (JScript)。

下表描述與 WshEnvironment 對象關聯的方法。
方法 說明
Remove 刪除指定的環境變數。

WshShell.SpecialFolders
SpecialFolders 屬性提供 WshSpecialFolders 對象以便訪問 Windows 的 shell 檔案夾,例如案頭檔案夾、開始菜單檔案夾和個人文檔檔案夾。
文法
WshShell.SpecialFolders = objWshSpecialFolders
樣本
'' This code fragment shows how to access

the desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
MsgBox "Your desktop is " & WshShell.SpecialFolders("Desktop")
請參閱
WshSpecialFolders 對象
WshSpecialFolders 對象
該對象未直接給出。要得到 WshSpecialFolders 對象,請使用 WshShell.SpecialFolders 屬性。
ProgID N/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。例如,Windows 95 沒有 AllUsersDesktop 檔案夾,如果 strFolderName = AllUsersDesktop,則返回 NULL。
Windows 95 和 Windows NT 4.0 作業系統提供下列指定檔案夾:
AllUsersDesktop
AllUsersStartMenu
AllUsersPrograms
AllUsersStartup
Desktop
Favorites
Fonts
MyDocuments
NetHood
PrintHood
Programs
Recent
SendTo
StartMenu
Startup
Templates
樣本
'' This fragment returns the full path for the Windows Desktop folder
Set WshShell = Wscript.CreateObject("Wscript.Shell")
StrMyDesktop = WshShell.SpecialFolders("Desktop")
'' List all special folders
For Each strFolder In WshShell.SpecialFolders
MsgBox strFolder
Next
請參閱
WshShell.SpecialFolders 屬性

WshShell.CreateShortcut
CreateShortcut 方法建立 WshShortcut 對象並將其返回。如果捷徑標題以 .url 結尾,就會建立 WshURLShortcut 對象。
文法
WshShell.CreateShortcut(strPathname) = objShortcut
樣本
'' This code fragment creates a shortcut
'' to the currently executing script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
Set oShellLink = WshShell.CreateShortcut("Current Script.lnk")
oShellLink.TargetPath = Wscript.ScriptFullName
oShellLink.Save
Set oUrlLink = WshShell.CreateShortcut("Microsoft Web Site.URL")
oUrlLink.TargetPath = "http://www.microsoft.com"
oUrlLink.Save
請參閱
WshShortcut 對象、WshUrlShortcut 對象
WshShortcut 對象
該對象未直接給出。要獲得 WshShortcut 對象,請使用 WshShell.CreateShortcut 方法。
ProgID N/A
檔案名稱 WSHom.Ocx
CLSID F935DC28-1CF0-11d0-ADB9-00C04FD58A0B
IID F935DC27-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、PRINT SCREEN 或 BACKSPACE,即使 WshShortcut.Hotkey 遵循 Win32 API 支援它們。因此,建議在捷徑中不要用這些鍵。
樣本
Set WshShell = Wscript.CreateObject("Wscript.WshShell")
strDesktop = WshShell.SpecialFolders("Desktop")
Set oMyShortcut = WshShell.CreateShortcut(strDesktop & "a_key.lnk")
OMyShortcut.TargetPath = "%windir%notepad.exe"
oMyShortCut.Hotkey = "ALT+CTRL+F"
oMyShortCut.Save
Wscript.Echo oMyShortCut.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 方法。
ProgID N/A
檔案名稱 WSHom.Ocx
CLSID
IID

下表說明了和 WshUrlShortcut 對象有關的屬性。
屬性 說明
FullName URL 捷徑對象的完整路徑。
TargetPath URL 捷徑對象的目標路徑。

下表說明了和 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 "Prompt is " & WshShell.ExpandEnviromentStrings("%PROMPT%")

WshShell.Popup
Popup 方法顯示一個彈出式訊息框視窗,訊息框中包含的訊息由 strText 指定。該訊息框的視窗標題由 strTitle 指定。若 strTitle 省略,則視窗標題為 Windows Scripting Host。
文法
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 “否”按扭

樣本
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Popup "Where do you want to go today?"
請參閱
Wscript.Echo 方法
Wscript.Echo
Echo 方法在視窗(Wscript.exe 中)或“命令提示字元”視窗(Cscript.exe 中)顯示參數。
參數用空格分隔。在 Cscript.exe 中,該方法在顯示最後一個參數之後輸出一對斷行符號/換行(CR LF)。
文法
Wscript.Echo [anyArg...]
樣本
Wscript.Echo
Wscript.Echo 1, 2, 3
Wscript.Echo "Windows Scripting Host is cool."
WshShell.RegDelete
RegDelete 從註冊表

中刪除名為 strName 的鍵或值。
文法
WshShell.RegDelete strName
參數
strName
如果 strName 以反斜線 () 結束,則該方法刪除鍵而不是值。
strName 參數必須以下列之一的根鍵名開始:
短根鍵名 長根鍵名
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG

樣本
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegDelete "HKCUScriptEngineValue" '' Delete value "Value"
WshShell.RegDelete "HKCUScriptEngineKey" '' Delete key "Key"
請參閱
WshShell.RegRead 方法、WshShell.RegWrite 方法

WshShell.RegRead
RegRead 方法返回名為 strName 的註冊表

鍵或值。
文法
WshShell.RegRead(strName) = strValue
參數
strName
如果 strName 以反斜線 () 結束,則該方法返回鍵,而不是值。
strName 參數必須以下列根鍵名開始。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_CLASSES_ROOT
HKEY_USERS
HKEY_CURRENT_CONFIG

注釋
RegRead 方法僅支援 REG_SZ、REG_EXPAND_SZ、REG_DWORD、REG_BINARY 和 REG_MULTI_SZ 資料類型。若註冊表

有其他資料類型,RegRead 返回 DISP_E_TYPEMISMATCH。
樣本
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegRead("HKCUScriptEngineVal") '' Read from value "Val"
WshShell.RegRead("HKCUScriptEngineKey") '' Read from key "Key"
請參閱
WshShell.RegDelete 方法、WshShell.RegWrite 方法

WshShell.RegWrite
RegWrite 方法設定名為 strName 的註冊表

鍵或值。
文法
WshShell.RegWrite strName, anyValue, [strType]
參數
strName
若 strName 以一個反斜線 () 結束,則該方法設定鍵,而不是值。
strName 參數必須以下列根鍵名開頭。
Short Long
HKCU HKEY_CURRENT_USER
HKLM HKEY_LOCAL_MACHINE
HKCR HKEY_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。
樣本
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.RegWrite "HKCUScriptEngineValue", "Some string value"
WshShell.RegWrite "HKCUScriptEngineKey", 1 "REG_DWORD"
請參閱
WshShell.RegDelete 方法、WshShell.RegWrite方法

WshShell.Run
Run 方法建立一個新的進程,該進程以 intWindowStyle 視窗樣式執行 strCommand。
文法
WshShell.Run (strCommand, [intWindowStyle], [blnWaitOnReturn])
參數
strCommand
在 strCommand 參數內部的環境變數被自動擴充。
intWindowStyle
這是為新進程在 STARTUPINFO 結構內設定的 wShowWindow 元素的值。其意義與 ShowWindow 中的 nCmdShow 參數相同,可取以下值之一。名稱 值 含義
SW_HIDE
0 隱藏視窗並啟用另一視窗。
SW_MINIMIZE
6 最小化指定視窗並啟用按 Z 序排序的下一個頂層視窗。
SW_RESTORE
9 啟用並顯示視窗。若視窗是最小化或最大化,則恢複到原來的大小和位置。在還原應用程式的已最小化的視窗時,應指定該標誌。
SW_SHOW
5 以當前大小和位置啟用並顯示視窗。
SW_SHOWMAXIMIZED
3 啟用視窗並以最大化顯示該視窗。
SW_SHOWMINIMIZED
2 啟用視窗並以最小化顯示該視窗。
SW_SHOWMINNOACTIVE
7 最小化顯示視窗。使用中視窗保持活動。
SW_SHOWNA
8 以目前狀態顯示視窗。使用中視窗保持活動。
SW_SHOWNOACTIVATE
4 按視窗最近的大小和位置顯示。使用中視窗保持活動。
SW_SHOWNORMAL
1 啟用並顯示一個視窗。若視窗是最小化或最大化,則恢複到其原來的大小和位置。

blnWaitOnReturn
如果未指定 blnWaitOnReturn 或其值為 FALSE,則該方法立即返回到指令碼繼續執行而不等待進程結束。
若 blnWaitOnReturn 設為 TRUE,則 Run 方法返回由應用程式返回的任何錯誤碼。如果未指定 blnWaitOnReturn 或其值為 FALSE,則 Run 返回錯誤碼 0(zero)。
樣本
'' This fragment launches Notepad with the current executed script
Set WshShell = Wscript.CreateObject("Wscript.Shell")
WshShell.Run ("notepad " & Wscript.ScriptFullName)
WshShell.Run ("%windir%notepad" & Wscript.ScriptFullName)
'' This fragment returns the error code from the executed application
Return = WshShell.Run("notepad " & Wscript.ScriptFullName, 1, TRUE)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.