explorer.exeを起動する際に引数を指定することで、様々な方法で起動することができる。 引数には次のようなものがある。

/root,<オブジェクト>
指定した<オブジェクト>をルートとして表示する。 ルートより上位のフォルダは表示されなくなる。 オブジェクトを省略するとデスクトップが表示される。
/select,<オブジェクト>
指定した<オブジェクト>を選択した状態で表示する。
/n
新しいウィンドウを開き、デフォルトの場所を表示する。 Windows Vista/7では、ログインしているユーザのフォルダが表示される。 Windows XPではフォルダツリー表示なしで、システムがインストールされているドライブが表示される。
/e
デフォルトの表示設定で開く。 Windows XPではフォルダツリーも表示される。

<オブジェクト>には任意のドライブ・フォルダ・ファイルを指定できるほか、CLSIDを指定することで以下のような特殊なフォルダも開くことができる。

特殊なフォルダと対応するCLSID(一例)
フォルダ CLSID
マイコンピュータ ::{20D04FE0-3AEA-1069-A2D8-08002B30309D}
マイドキュメント ::{450D8FBA-AD25-11D0-98A8-0800361B1103}
ごみ箱 ::{645FF040-5081-101B-9F08-00AA002F954E}
コントロールパネル ::{21EC2020-3AEA-1069-A2DD-08002B30309D}

オプション指定と表示の例

デフォルトの状態で開く

デフォルトの状態で開く
C:\>explorer.exe
デフォルトの状態で開いた例

フォルダC:\Windows\をルートとして開く

フォルダC:\Windows\をルートとして開く
C:\>explorer.exe /root,C:\Windows\
フォルダC:\Windows\をルートとして開いた例

フォルダC:\Windows\Microsoft.NET\を選択した状態で開く

フォルダC:\Windows\Microsoft.NET\を選択した状態で開く
C:\>explorer.exe /select,C:\Windows\Microsoft.NET\
フォルダC:\Windows\Microsoft.NET\を選択した状態で開いた例

ごみ箱を開く

箱を開く
C:\>explorer.exe ::{645FF040-5081-101B-9F08-00AA002F954E}
ごみ箱を開いた例

コードからexplorer.exeを開く

コードからexplorer.exeを開く
using System;
using System.Diagnostics;

class Sample
{
  static void Main()
  {
    // フォルダC:\Windows\Microsoft.NET\を選択した状態で開く
    Process.Start("explorer.exe", "/select,C:\\Windows\\Microsoft.NET\\")

    // マイドキュメントを開く
    Process.Start("explorer.exe", "::{450D8FBA-AD25-11D0-98A8-0800361B1103}");

    // マイドキュメントを開く(別の方法)
    Process.Start("explorer.exe", Environment.GetFolderPath(Environment.SpecialFolder.Personal));
  }
}
コードからexplorer.exeを開く
Imports System
Imports System.Diagnostics

Module Sample
  Sub Main()
    ' フォルダC:\Windows\Microsoft.NET\を選択した状態で開く
    Process.Start("explorer.exe", "/select,C:\Windows\Microsoft.NET\")

    ' マイドキュメントを開く
    Process.Start("explorer.exe", "::{450D8FBA-AD25-11D0-98A8-0800361B1103}")

    ' マイドキュメントを開く(別の方法)
    Process.Start("explorer.exe", Environment.GetFolderPath(Environment.SpecialFolder.Personal))
  End Sub
End Module