用vbs实现在启动 Windows 资源管理器时打开特定文件夹

my-script.vbs "c:\scripts"
在文件夹路径的两端必须加双引号吗?本例中不需要。但是,如果路径中有空格,则必须加双引号。以下命令行将不起作用:
my-script.vbs c:\documents and settings\kmyer
只要是向脚本传递包含空格的参数,就必须将整个参数括在双引号内(否则无需如此)。换句话说:
my-script.vbs "c:\documents and settings\kmyer"
这就是命令解释程序的工作方式。
那么,我们将在这里运行什么脚本呢?问得好。最终是这样一个脚本:


代码如下:

Set objShell = CreateObject("Wscript.Shell") 
strPath = Wscript.Arguments(0) 
strPath = "explorer.exe /e," & strPath 
objShell.Run strPath

如同往常一样,该脚本没有太多内容。我们首先创建 Wscript.Shell 对象的实例;它是 Windows Script Host 对象,我们用它来在另一脚本内运行脚本或可执行文件。然后我们获取提供给脚本的第一个参数 (c:\scripts) 并将其存储到名为 strPath 的变量中:
strPath = Wscript.Arguments(0)
对这些应该没有什么疑问吧?稍后,我们将使用 Run 方法启动 Windows 资源管理器。不过,在此之前,我们应注意到 WSH 中的 Run 方法同 Run 对话框基本上是一回事。如果想使用 Run 对话框启动 Windows 资源管理器(焦点定位在 C:\Scripts 文件夹上),需要键入以下代码:
explorer.exe /e,c:\scripts
我们发现,以上使用的语法与我们用 Run 方法启动 Windows 资源管理器所用的语法相同:我们只需要构建命令,然后执行: 
strPath = "explorer.exe /e," & strPath
objShell.Run strPath
在第 1 行,我们采取命令 explorer.exe /e, 并附加上文件夹路径(该路径存储在变量 strPath 中);然后,strPath 的值将是 explorer.exe /e,c:\scripts。在第 2 行,我们调用 Run 方法,并将变量 strPath 作为所要运行的命令传递。如果一切顺利(就脚本编写方面,事情总是很顺利,对吧?),Windows 资源管理器将会打开且焦点定位在 C:\Scripts 上:

真酷。
那么,这有何不妥吗?没什么,一切正常。该脚本的唯一弊端是需要您键入文件夹的完整路径;当您试图打开文件夹 C:\Documents and Settings\Default User\Application Data\Microsoft\SystemCertificates\My\Certificates 时,这就会成为一个问题。但是由于系统管理员总是坚持使用命令行,我们又必须做何种选择呢?
好吧,您总是可以尝试一下 GUI 方法(不用担心,我们不会告诉任何人的):


代码如下:

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 则只是通知脚本我们要显示标准的“浏览文件夹”对话框。之后,我们创建 Shell.Application 对象的实例,然后使用下面这行代码来显示该对话框:
Set objFolder = objShell.BrowseForFolder _
    (WINDOW_HANDLE, "Select a folder:", NO_OPTIONS)
在对话框显示之后,它将一直等到我们选择一个文件夹并单击确定。然后我们使用如下两行代码来实现:1) 创建对选定文件夹的对象引用;以及,2) 将文件夹路径存储到变量 strPath 中:
Set objFolderItem = objFolder.Self
strPath = objFolderItem.Path
我们现在只需调用专用于打开 Windows 资源管理器的 Explore 方法。通过将变量 strPath 作为单独的参数传递,这样会使得 Windows 资源浏览器在打开时焦点定位在 C:\Scripts 上:
objShell.Explore strPath
这说明了什么呢?这说明现在您可以使用命令提示符打开 Windows 资源管理器,也可以使用 GUI 打开 Windows 资源管理器,这完全取决于您。

(0)

相关推荐

  • Linux操作系统文件管理器的共享

    在目前最流行的RedHatLinux 9.0中有GNOME和KDE这两个图形桌面.这两个桌面系统中分别有两个不同的文件管理器:在GNOME中是Nautilus(鹦鹉螺)而KDE中是Konqueror,各有不少很实用的特色. 其实不管你登录哪个桌面都可以同时使用这两个文件管理器,方法很简单:在KDE中打开文件管理器Konqueror,找到/usr/bin/目录,将Nautilus文件直接拖到任务栏上,并在弹出的对话框中为它建一个新图标,以后只要点击该图标就可以运行Nautilus文件管理器.同理,

  • java编写的文件管理器代码分享

    比较适合新手.逻辑上仍然有点问题.可以用于学习java文件操作 下载地址:http://yun.baidu.com/share/link?shareid=4184742416&uk=1312160419 下面是主要的JAVA文件操作代码 FileHelp.java package self.yy.filesystem.fileutil; import android.content.Context; import android.util.Log; import android.widget.T

  • web文件管理器的后续开发

    web文件管理器的后续开发...     选择自 iuhxq 的 Blog   关键字   web文件管理器的后续开发...  出处 今天看了一下ccopus的DM45,做的很不错,在这之前我也想做一个了,做一个跟windows资源管理器非常类似的程序.看到dm45以后觉得自己还是放弃吧,WEB方式的文件管理无论如何都是在权限允许内操作,而且大家实现的也都差不多,无非是在外观上,易操作上做文章,文件管理本来作用也不是很大,如果是多用户的权限比较难控制,既然别人做了,我想还是不要重复劳动的好,况且

  • Cmstp 安装或删除“连接管理器”服务配置文件

    Cmstp 安装或删除"连接管理器"服务配置文件.如果在不含可选参数的情况下使用,则 cmstp 会使用对应于操作系统和用户的权限的默认设置来安装服务配置文件. 语法 语法 1: ServiceProfileFileName.exe /q:a /c:"cmstp.exe ServiceProfileFileName.inf [/nf] [/ni] [/ns] [/s] [/su] [/u]" 语法 2: cmstp.exe [/nf] [/ni] [/ns] [/s

  • 11款基于Javascript的文件管理器

    1. eXtplorer eXtplorer是一个基于PHP与ExtJS开发的文件管理器.你可以用它浏览服务器上的文件与目录.编辑,复制,移动,删除文件.搜索,上传和删除文件.创建新的文件和目录.改变文件的权限属性. 2. Control.Filebrowser (演示地址) 采用Mootools框架开发的文件浏览器控件. 3. FileManager (演示地址) FileManager是一个基于Mootools PHP实现的文件管理器.提供浏览,删除,重命名,移动/复制(支持鼠标拖放操作)和

  • 用vbs实现在启动 Windows 资源管理器时打开特定文件夹

    my-script.vbs "c:\scripts" 在文件夹路径的两端必须加双引号吗?本例中不需要.但是,如果路径中有空格,则必须加双引号.以下命令行将不起作用: my-script.vbs c:\documents and settings\kmyer 只要是向脚本传递包含空格的参数,就必须将整个参数括在双引号内(否则无需如此).换句话说: my-script.vbs "c:\documents and settings\kmyer" 这就是命令解释程序的工作方

  • Java实现的Windows资源管理器实例

    本文实例讲述了Java实现的Windows资源管理器.分享给大家供大家参考.具体如下: FileTree.java文件如下: // FileTree.java /*********************************************************** * Author: Jason * email: tl21cen@hotmail.com * CSDN blog: http://blog.csdn.net/UnAgain/ *********************

  • c# WPF实现Windows资源管理器(附源码)

      今天我来写一篇关于利用WPF来实现Windows的资源管理器功能,当然只是局部实现这个功能,因为在很多时候我们需要来实现对本机资源的管理,当然我们可以使用OpenFileDialog dialog = new OpenFileDialog()这个Microsoft.Win32命名空间下的这个类来实现一些资源查找和导入的功能,但是在很多时候我们可能需要更多的功能,并且希望能够集成到我们自己的项目中,但是我们这个时候就不得不自己来写一套来集成到我们的软件中去了,因为OpenFileDialog这

  • Windows下修改mysql的data文件夹存放位置的方法

    按照正常步骤进行mysql的安装之后,发现datadir的默认目录是 复制代码 代码如下: C:\Documents and Settings\All Users\Application Data\MySQL\MySQL Server 5.1\data 本来C盘容量就不多,当然不能放在这个里面~~所以按照网上的步骤,在my.ini文件中进行了修改,然后在"服务"里面重启服务,可怕的事情发生了,出现了"本地计算机无法启动Mysql服务"的错误,愁苦死了,只好卸载又重装

  • VBS打开当前脚本所在文件夹

    方法一:Wscript.ScriptFullName '创建一个 Wscript.Shell 对象的实例,稍后会使用这个对象启动 Windows 资源管理器 Set objShell = CreateObject("Wscript.Shell") '获取脚本的路径 strPath = Wscript.ScriptFullName Set objFSO = CreateObject("Scripting.FileSystemObject") Set objFile =

  • 别惊讶,资源管理器也能管好注册表

    我们在编辑注册表时,都要先在开始菜单中点击运行项,然后输入"regedit"来打开注册表编辑器,这样的操作你是否厌倦?其实,我们可以换一种方式管理注册表--将注册表请进资源管理器中,这样,要对注册表"动手动脚"也更为方便.一.将注册表请进资源管理器 实现在资源管理器中编辑注册表并不难,只要按照以下步骤操作即可:    首先到http://www.regxplor.com/regxplor.dll下载资源管理器的一个控件,并将它复制到Windows安装路径下的syst

  • [注册表]资源管理器也玩多窗口

    利用资源管理器我们可以方便地查找计算机中的资源,然而如果我们想同时查找两个(或多个)不同文件夹下的内容时,操作相当烦琐.利用下述操作我们可以方便地在资源管理器中同时开启多个目的窗口.具体操作为: 1. 打开注册表编辑器,展开如下分支:HKEY__LOCAL__MACHINE\ SOFTWARE\CLASSES\Directory\shell. 2. 在Shell子键下创建一个名为"NewWindows"的主键, 将右边窗口中的"默认"值改为"在新窗口中打开

  • 如何在Windows Vista中预览PDF文件的方法

    之前我们曾介绍过Windows Vista的预览功能,即在用户不打开相应文件的情况下查看文件的具体内容,这是个相当有用的功能,可以大大提高日常工作的效率.Windows Vista预览功能可支持的对象包括图片.音频.视频.字体.文本.E-mail乃至Office文档如Word.Excel.PowerPoint文件. 不过,对于PDF(Portable Document Format)文件,则没有这么幸运了,即使在Windows Vista中安装了可以创建PDF的Office 2007后,仍然不能

  • VBS 显示“选择文件或文件夹”对话框的代码

    一.显示"选择文件"的对话框 问: 嗨,Scripting Guy!有没有什么方法可以让我使用脚本向用户显示一个对话框,供用户选择文件使用? 答:您好.| 如果您使用的是 Windows 2000,我们不知道实现此操作的方法,至少操作系统中没有内置这样的方法. 但如果您使用的是 Windows XP,情况就不同了.在 Windows XP 上,您可以使用"UserAccounts.CommonDialog" 对象向用户显示一个标准的"文件打开"对

  • windows服务器如何创建.开头(.well-known)的文件夹

    目录 一.使用FTP软件创建 二.windows服务器使用命令方式创建. 三.虚拟主机使用文件管理功能创建. 国内的云服务商腾讯云提供免费有效期一年的SSL证书,申请过程中需要身份验证,需要dns域名解析或者服务器文件验证.如果想使用文件验证,必须创建一个以.开头的文件,使用windows服务器如何创建.开头(.well-known)的文件夹. 一.使用FTP软件创建 用FTP软件登录到站点跟目录,右键创建目录,输入要创建的目录名即可创建.注意,因为是带.文件夹,因此创建后无法通过FTP软件查看

随机推荐