用vbs實(shí)現(xiàn)在啟動 Windows 資源管理器時打開特定文件夾
my-script.vbs "c:\scripts"
在文件夾路徑的兩端必須加雙引號嗎?本例中不需要。但是,如果路徑中有空格,則必須加雙引號。以下命令行將不起作用:
my-script.vbs c:\documents and settings\kmyer
只要是向腳本傳遞包含空格的參數(shù),就必須將整個參數(shù)括在雙引號內(nèi)(否則無需如此)。換句話說:
my-script.vbs "c:\documents and settings\kmyer"
這就是命令解釋程序的工作方式。
那么,我們將在這里運(yùn)行什么腳本呢?問得好。最終是這樣一個腳本:
Set objShell = CreateObject("Wscript.Shell")
strPath = Wscript.Arguments(0)
strPath = "explorer.exe /e," & strPath
objShell.Run strPath
如同往常一樣,該腳本沒有太多內(nèi)容。我們首先創(chuàng)建 Wscript.Shell 對象的實(shí)例;它是 Windows Script Host 對象,我們用它來在另一腳本內(nèi)運(yùn)行腳本或可執(zhí)行文件。然后我們獲取提供給腳本的第一個參數(shù) (c:\scripts) 并將其存儲到名為 strPath 的變量中:
strPath = Wscript.Arguments(0)
對這些應(yīng)該沒有什么疑問吧?稍后,我們將使用 Run 方法啟動 Windows 資源管理器。不過,在此之前,我們應(yīng)注意到 WSH 中的 Run 方法同 Run 對話框基本上是一回事。如果想使用 Run 對話框啟動 Windows 資源管理器(焦點(diǎn)定位在 C:\Scripts 文件夾上),需要鍵入以下代碼:
explorer.exe /e,c:\scripts
我們發(fā)現(xiàn),以上使用的語法與我們用 Run 方法啟動 Windows 資源管理器所用的語法相同:我們只需要構(gòu)建命令,然后執(zhí)行:
strPath = "explorer.exe /e," & strPath
objShell.Run strPath
在第 1 行,我們采取命令 explorer.exe /e, 并附加上文件夾路徑(該路徑存儲在變量 strPath 中);然后,strPath 的值將是 explorer.exe /e,c:\scripts。在第 2 行,我們調(diào)用 Run 方法,并將變量 strPath 作為所要運(yùn)行的命令傳遞。如果一切順利(就腳本編寫方面,事情總是很順利,對吧?),Windows 資源管理器將會打開且焦點(diǎn)定位在 C:\Scripts 上:
真酷。
那么,這有何不妥嗎?沒什么,一切正常。該腳本的唯一弊端是需要您鍵入文件夾的完整路徑;當(dāng)您試圖打開文件夾 C:\Documents and Settings\Default User\Application Data\Microsoft\SystemCertificates\My\Certificates 時,這就會成為一個問題。但是由于系統(tǒng)管理員總是堅(jiān)持使用命令行,我們又必須做何種選擇呢?
好吧,您總是可以嘗試一下 GUI 方法(不用擔(dān)心,我們不會告訴任何人的):
Const WINDOW_HANDLE = 0
Const NO_OPTIONS = 0
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "Select a folder:", NO_OPTIONS)
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
objShell.Explore strPath
本腳本根本不需要您做任何鍵入。您只需啟動該腳本,然后它會顯示瀏覽文件夾對話框:
選擇文件夾,單擊確定,這樣就可以了。
那么,此腳本是如何工作的?好吧,我們先定義一對常量:WINDOW_HANDLE 和 NO_OPTIONS。WINDOW_HANDLE 是 BrowseForFolder 方法所需的常量,NO_OPTIONS 則只是通知腳本我們要顯示標(biāo)準(zhǔn)的“瀏覽文件夾”對話框。之后,我們創(chuàng)建 Shell.Application 對象的實(shí)例,然后使用下面這行代碼來顯示該對話框:
Set objFolder = objShell.BrowseForFolder _
(WINDOW_HANDLE, "Select a folder:", NO_OPTIONS)
在對話框顯示之后,它將一直等到我們選擇一個文件夾并單擊確定。然后我們使用如下兩行代碼來實(shí)現(xiàn):1) 創(chuàng)建對選定文件夾的對象引用;以及,2) 將文件夾路徑存儲到變量 strPath 中:
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
我們現(xiàn)在只需調(diào)用專用于打開 Windows 資源管理器的 Explore 方法。通過將變量 strPath 作為單獨(dú)的參數(shù)傳遞,這樣會使得 Windows 資源瀏覽器在打開時焦點(diǎn)定位在 C:\Scripts 上:
objShell.Explore strPath
這說明了什么呢?這說明現(xiàn)在您可以使用命令提示符打開 Windows 資源管理器,也可以使用 GUI 打開 Windows 資源管理器,這完全取決于您。
上一篇:Stream、WshShell、WshUrlShortcut對象及Shell.Application的參數(shù)與使用
欄 目:vb
本文標(biāo)題:用vbs實(shí)現(xiàn)在啟動 Windows 資源管理器時打開特定文件夾
本文地址:http://mengdiqiu.com.cn/a1/vb/7918.html
您可能感興趣的文章
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10VBS中的正則表達(dá)式的用法大全 <font color=red>原創(chuàng)&
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10VBScript教程 第十一課深入VBScript
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript語法速查及實(shí)例說明
- 01-10VBS中Select CASE的其它用法
- 01-10VBScript教程 第七課使用條件語句
- 01-10vbscript 可以按引用傳遞參數(shù)嗎?
- 01-10VBScript教程 第二課在HTML頁面中添加VBscript代碼


閱讀排行
本欄相關(guān)
- 01-10下載文件到本地運(yùn)行的vbs
- 01-10飄葉千夫指源代碼,又稱qq刷屏器
- 01-10SendKeys參考文檔
- 01-10什么是一個高效的軟件
- 01-10VBS中的正則表達(dá)式的用法大全 &l
- 01-10exe2swf 工具(Adodb.Stream版)
- 01-10VBS中SendKeys的基本應(yīng)用
- 01-10用VBSCRIPT控制ONSUBMIT事件
- 01-10VBScript教程 第十一課深入VBScript
- 01-10VBScript語法速查及實(shí)例說明
隨機(jī)閱讀
- 08-05織夢dedecms什么時候用欄目交叉功能?
- 01-11ajax實(shí)現(xiàn)頁面的局部加載
- 08-05dedecms(織夢)副欄目數(shù)量限制代碼修改
- 01-11Mac OSX 打開原生自帶讀寫NTFS功能(圖文
- 01-10C#中split用法實(shí)例總結(jié)
- 08-05DEDE織夢data目錄下的sessions文件夾有什
- 01-10使用C語言求解撲克牌的順子及n個骰子
- 01-10delphi制作wav文件的方法
- 01-10SublimeText編譯C開發(fā)環(huán)境設(shè)置
- 04-02jquery與jsp,用jquery