5

我的 Windows XP 桌面 (LaunchWindowsExplorers.bat) 上有一个批处理脚本,它应该启动几个 Windows 资源管理器实例。

它看起来像这样:

LaunchWindowsExplorers.bat

start explorer "C:\SomeDirectory" 
start explorer "C:\SomeDirectory" 

当我双击文件时LaunchWindowsExplorers.bat

我希望看到

  • 在 "C:\SomeDirectory" 中打开了两个 Windows 资源管理器实例。

相反,我看到

  • 仅在“C:\SomeDirectory”中打开了一个 Windows 资源管理器实例。

我需要做什么才能让这个脚本打开两个 Windows 资源管理器实例,每个实例都在“C:\SomeDirectory”打开?

谢谢。

4

3 回答 3

5

您可以使用explorer /n,"C:\SomeDirectory",explorer /e,"C:\SomeDirectory"explorer /root,"C:\SomeDirectory"(取决于您想要的视图)。从此处获取的选项说明: http: //support.microsoft.com/kb/314853

选项功能


/n 为默认选择打开一个新的单窗格窗口。这通常是安装 Windows 的驱动器的根目录。如果窗口已经打开,则会打开一个副本。

/e 在其默认视图中打开 Windows 资源管理器。

/root,<object> 打开指定对象的窗口视图。

/select,<object> 打开带有选定文件夹、文件或程序的窗口视图。


有趣的是,这种行为(不显示同一目录的第二个窗口)似乎特定于 XP。Win7 只需启动资源管理器的第二个副本。我没有检查Vista。

于 2012-09-22T16:21:31.477 回答
1

虽然我不确定解决方案,但您是否尝试将其更改为:
start explorer "C:\SomeDirectory"
start explorer "C:\AnotherDirectory"
并检查会发生什么?
我会假设正在发生的事情是启动资源管理器检查是否已经打开了一个资源管理器,如果这是错误的,它只会打开一个新的资源管理器(否则它只会重定向当前打开的资源管理器)。
抱歉,我无法提供更多帮助。

于 2012-09-22T12:37:57.317 回答
1

我建议您在我之前尝试 wmz 的答案。我的回答是一个可怕的、肮脏的黑客攻击,只能作为最后的手段。

我的示例脚本所做的是创建您要打开的文件夹的随机子文件夹,打开它,然后删除随机子文件夹并期望资源管理器优雅地移动到父文件夹,这是您真正想要打开的文件夹。

这太可怕了,太可怕了,太可怕了,但它适用于我的 Win7 机器。:) 不幸的是,我没有 WinXP 机器/VM 来正确测试它,如果资源管理器将文件夹锁定为正在使用,它可能会完全失败,因为它正在显示;我不记得那是什么时候改变的。此外,这种方法需要对文件夹进行写访问,并且很容易被不幸的时机、激进的防病毒软件或任何其他随机性破坏。我已经说得够多了,但是,这有多可怕?:)

call :ForceStartExplorerWindow .
call :ForceStartExplorerWindow .
call :ForceStartExplorerWindow .

GOTO :EOF


:: Pass The location to open as %1
:ForceStartExplorerWindow

SETLOCAL

set __ForceStartTempDir=%1\ThisShouldNeverExist-%RANDOM%
md %__ForceStartTempDir%
start explorer %__ForceStartTempDir%

:: Hope this wait is long enough for Explorer to finish loading it...
ping -n 2 localhost >NUL

:: Hope this rd works...
rd %__ForceStartTempDir%
:: FUTURE: Consider retrying upon failure.

:: End of ForceStartExplorerWindow
GOTO :EOF
于 2012-09-22T17:36:13.617 回答