如何在启动windows资源管理器时打开特定文件夹.doc
文本预览下载声明
如何在启动?Windows?资源管理器时打开特定文件夹?
CD。我们将让您知道脚本专家最大的秘密之一:脚本专家们有时各持己见。是的,这是真的,千真万确。例如,有些脚本专家认为足球是真正的运动;甚至更糟糕的是,至少有一个脚本专家认为赛车才是真正的运动!哦,天哪!
注意:经过一次简短的 … 商讨 … 编写本专栏的脚本专家同意他错了,毕竟足球和赛车都是真正的运动。在一定程度上是这样。
这里还有另一个脚本专家们意见不一致的领域。至少有一个脚本专家认为系统管理员和 IT 专业人员决不会屈就自己使用 Windows 图形用户界面 (GUI)。而且并非只有他一个 Microsoft 类型的人会那么认为,我们知道至少有一个程序经理,只要他想启动 Word,便会打开命令窗口,在命令提示符下键入 winword.exe。其他的脚本专家会反对说,系统管理员们并不关心他们是使用该命令行还是 GUI 工具:他们只想尽可能快速简捷地完成工作。
那么,一方正确而另一方错误吗?答案是肯定的!然而,正如我们 … 认同 … 足球和赛车都是运动一样,我们也认同命令行和 GUI 都是实现在打开 Windows 资源管理器时让焦点定位在某个特定文件夹上的好方法。因此,我们将提供两个脚本供您选择,一个是基于命令行的脚本,一个是基于 GUI 的脚本。
让我们先从命令行脚本开始。要让该脚本(我们称之为 my-script.vbs)工作,您只需在命令提示符下调用该脚本,将要打开的文件夹的名称作为单独的参数传递。换句话说,要打开 Windows 资源管理器并使焦点定位在 C:\Scripts 上,您需要在命令提示符下键入以下命令:
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 时,这就会成为一个问题。但是由于系统管理员总是坚持使用命令行,我们又必须做何种选择呢?
好吧,您总是
显示全部