首页 > 编程 > VBScript > 正文

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

2019-10-26 17:58:52
字体:
来源:转载
供稿:网友
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 时,这就会成为一个问题。但是由于系统管理员总是坚持使用命令行,我们又必须做何种选择呢?
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选