5

Windows XP デスクトップ (LaunchWindowsExplorers.bat) に、Windows エクスプローラーのインスタンスをいくつか起動するバッチ スクリプトがあります。

次のようになります。

LaunchWindowsExplorers.bat :

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

ファイルをダブルクリックするとLaunchWindowsExplorers.bat

私は見ることを期待します

  • "C:\SomeDirectory" で開かれた Windows Explorer の 2 つのインスタンス。

代わりに、私は見る

  • 「C:\SomeDirectory」で開いた Windows エクスプローラーのインスタンスは 1 つだけです。

このスクリプトで Windows エクスプローラーの 2 つのインスタンスを開き、それぞれが "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> 指定したフォルダー、ファイル、またはプログラムが選択されたウィンドウ ビューを開きます。


興味深いことに、この動作 (同じディレクトリの 2 番目のウィンドウを表示しない) は XP に固有のようです。Win7 は単にエクスプローラーの 2 番目のコピーを開始します。Vistaはチェックしていません。

于 2012-09-22T16:21:31.477 に答える
1

解決策はわかりませんが、次のようなものに変更してみて、
start explorer "C:\SomeDirectory"
start explorer "C:\AnotherDirectory"
どうなるか確認しましたか?
何が起こっているのかというと、start explorerには、既に開いているエクスプローラーがあるかどうかを確認するチェックがあり、それがfalseの場合にのみ新しいエクスプローラーを開きます(そうでない場合は、現在開いているエクスプローラーをリダイレクトするだけです)。
申し訳ありませんが、これ以上お役に立てることはありません。

于 2012-09-22T12:37:57.317 に答える
1

私の前にwmzの答えを試すことをお勧めします。私の答えは、ひどい汚いハックであり、最後の手段としてのみ考慮されるべきです.

私のサンプル スクリプトが行うことは、開きたいフォルダーのランダムなサブフォルダーを作成し、それを開き、ランダムなサブフォルダーを削除して、Explorer が実際に開きたかった親フォルダーに適切に移動することを期待します。

これはひどい、ひどい、ひどいですが、私の 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 に答える