DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

指定したフォルダをエクスプローラで開く

ここでは、指定したフォルダをエクスプローラで開いて表示する方法を紹介します。なおここで紹介しているエクスプローラの機能は、OSのバージョンによっては違う動作になる可能性もあります。最後に動作を確認したOSは、Windows 8.1です。

ファイルを関連付けられたソフトで開く」と同じように、フォルダも関連付けで開くことができます。フォルダは通常エクスプローラに関連付けられていますので、関連付けが変更されていない限り、エクスプローラでフォルダが開きます。

下の例では、関連付けでフォルダ「C:\My Documents\My Pictures」を開いています。

VB.NET
コードを隠すコードを選択
'フォルダ"C:\My Documents\My Pictures"を開く
System.Diagnostics.Process.Start("C:\My Documents\My Pictures")
C#
コードを隠すコードを選択
//フォルダ"C:\My Documents\My Pictures"を開く
System.Diagnostics.Process.Start(@"C:\My Documents\My Pictures");

通常エクスプローラのファイル名は「EXPLORER.EXE」で、パスの通ったフォルダ(Windowsフォルダ)に存在します。よって、直接「EXPLORER.EXE」を実行すれば、エクスプローラが起動します。この時、フォルダのパスをコマンドライン引数で渡せば、そのフォルダをエクスプローラで開くことができます。

VB.NET
コードを隠すコードを選択
'エクスプローラでフォルダ"C:\My Documents\My Pictures"を開く
System.Diagnostics.Process.Start( _
    "EXPLORER.EXE", "C:\My Documents\My Pictures")
C#
コードを隠すコードを選択
//エクスプローラでフォルダ"C:\My Documents\My Pictures"を開く
System.Diagnostics.Process.Start(
    "EXPLORER.EXE", @"C:\My Documents\My Pictures");

指定したファイルを選択して表示する

オプション「/select」を指定してエクスプローラを起動することにより、ファイルやフォルダが選択された状態でフォルダを開くことができます。

以下の例では、「C:\My Documents\My Pictures\サンプル.jpg」が選択された状態でエクスプローラが起動するようにしています。

VB.NET
コードを隠すコードを選択
'オプションに"/select"を指定して開く
System.Diagnostics.Process.Start( _
    "EXPLORER.EXE", "/select,""C:\My Documents\My Pictures\サンプル.jpg""")
C#
コードを隠すコードを選択
//オプションに"/select"を指定して開く
System.Diagnostics.Process.Start(
    "EXPLORER.EXE", @"/select,""C:\My Documents\My Pictures\サンプル.jpg""");

ルートフォルダを指定して表示する

エクスプローラが開いた時、通常ルートフォルダは「PC」や「デスクトップ」ですが、これをオプション「/root」で変更することができます。

次の例では、ルートを「C:\My Documents\My Pictures」としてエクスプローラで表示しています。

VB.NET
コードを隠すコードを選択
'オプションに"/root"を指定して開く
System.Diagnostics.Process.Start( _
    "EXPLORER.EXE", "/e,/root,""C:\My Documents\My Pictures""")
C#
コードを隠すコードを選択
//オプションに"/root"を指定して開く
System.Diagnostics.Process.Start(
    "EXPLORER.EXE", @"/e,/root,""C:\My Documents\My Pictures""");

マイコンピュータ式で表示する

これは、Windows XP以前でのみ有効です。Windows Vista以降では、無視されます。

普通にエクスプローラを開くと、左側にフォルダツリーが付かないマイコンピュータ式で表示されます。必ずマイコンピュータ式で表示するには、オプション「/n」を指定して、エクスプローラを起動します。

VB.NET
コードを隠すコードを選択
'オプションに"/n"を指定して開く
System.Diagnostics.Process.Start( _
    "EXPLORER.EXE", "/n,""C:\My Documents\My Pictures""")
C#
コードを隠すコードを選択
//オプションに"/n"を指定して開く
System.Diagnostics.Process.Start(
    "EXPLORER.EXE", @"/n,""C:\My Documents\My Pictures""");

エクスプローラ式で表示する

これも、Windows XP以前でのみ有効です。

左側にフォルダツリーが付いたエクスプローラ式でフォルダを開くには、動詞に「explore」を指定するか、オプション「/e」を指定します。

以下に、動詞に「explore」を指定して開くコードと、オプション「/e」を指定して開くコードを示します。

VB.NET
コードを隠すコードを選択
'動詞に"explore"を指定して開く
Dim psi As New System.Diagnostics.ProcessStartInfo()
psi.FileName = "C:\My Documents\My Pictures"
psi.Verb = "explore"
System.Diagnostics.Process.Start(psi)

'オプションに"/e"を指定して開く
System.Diagnostics.Process.Start( _
    "EXPLORER.EXE", "/e,""C:\My Documents\My Pictures""")
C#
コードを隠すコードを選択
//動詞に"explore"を指定して開く
System.Diagnostics.ProcessStartInfo psi =
    new System.Diagnostics.ProcessStartInfo();
psi.FileName = @"C:\My Documents\My Pictures";
psi.Verb = "explore";
System.Diagnostics.Process.Start(psi);

//オプションに"/e"を指定して開く
System.Diagnostics.Process.Start(
    "EXPLORER.EXE", @"/e,""C:\My Documents\My Pictures""");

特殊なフォルダを開く

マイコンピュータやデスクトップ、コントロールパネルなど一部の特殊なフォルダは、パスの代わりにCLSIDを使用することによって、エクスプローラで開くことができます。

例えばマイコンピュータのCLSIDは「{20D04FE0-3AEA-1069-A2D8-08002B30309D}」ですので、マイコンピュータをエクスプローラで開くには、

explorer.exe /e,::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

または

explorer.exe shell:::{20D04FE0-3AEA-1069-A2D8-08002B30309D}

というコマンドを実行します(一部のフォルダは、「shell:」でしか開くことができないようです)。

さらにWindows Vistaからは、Shell Commandを使用してフォルダを開くこともできます。マイコンピュータの場合は、

explorer.exe shell:MyComputerFolder

というコマンドで開くことができます。

この方法で開くことができるフォルダは、かなりの数あります。CLSIDのリストは「CLSID Key (GUID) Shortcuts List for Windows 8」、Shell Commandのリストは「Shell Commands in Windows 8」が参考になります。

その内幾つかを以下に紹介します。なおコントロールパネル関連のフォルダや機能は「コントロールパネルを開く」で紹介していますので、そちらをご覧ください。

フォルダ CLSID Shell Command
デスクトップ Desktop
お気に入り {323CA680-C24D-4099-B94D-446DD2D7249E} Favorites
PC
コンピューター
マイコンピュータ
{20D04FE0-3AEA-1069-A2D8-08002B30309D} MyComputerFolder
PC\ダウンロード {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{374DE290-123F-4565-9164-39C4925E467B} downloads
PC\デスクトップ {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{B4BFCC3A-DB2C-424C-B029-7FE99A87C641} ThisPCDesktopFolder
PC\ドキュメント {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{A8CDFF1C-4878-43be-B5FD-F8091C1C60D0} Personal
マイドキュメント {450D8FBA-AD25-11D0-98A8-0800361B1103}
PC\ピクチャ {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{3ADD1653-EB32-4CB0-BBD7-DFA0ABB5ACCA} My Pictures
PC\ビデオ {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{A0953C92-50DC-43BF-BE83-3742FED03C9C} My Video
PC\ミュージック {20D04FE0-3AEA-1069-A2D8-08002B30309D}\::{1CF1260C-4DD0-4EBB-811F-33C572699FDE} My Music
ライブラリ {031E4825-7B94-4dc3-B131-E946B44C8DD5} Libraries
ライブラリ\ドキュメント {031E4825-7B94-4DC3-B131-E946B44C8DD5}\{7B0DB17D-9CD2-4A93-9733-46CC89022E7C} DocumentsLibrary
ライブラリ\ミュージック {031E4825-7B94-4DC3-B131-E946B44C8DD5}\{2112AB0A-C86A-4FFE-A368-0DE96E47012E} MusicLibrary
ライブラリ\ピクチャ {031E4825-7B94-4DC3-B131-E946B44C8DD5}\{A990AE9F-A03B-4E80-94BC-9912D7504104} PicturesLibrary
ライブラリ\ビデオ {031E4825-7B94-4DC3-B131-E946B44C8DD5}\{491E922F-5643-4AF4-A7EB-4E7A138D8174} VideosLibrary
パブリック {4336A54D-038B-4685-AB02-99BB52D3FB8B} Public
パブリックデスクトップ Common Desktop
パブリックのダウンロード CommonDownloads
パブリックのドキュメント Common Documents
パブリックのピクチャ CommonPictures
パブリックのビデオ CommonVideo
パブリックのミュージック CommonMusic
ホームグループ {B4FB3F98-C1EA-428d-A78A-D1F5659CBA93} HomeGroupFolder
ホームグループ\(現在のユーザー) HomeGroupCurrentUserFolder
ユーザー UserProfiles
ユーザー\(現在のユーザー) Profile
ユーザーファイルフォルダー
ユーザーホーム
{59031A47-3F72-44A7-89C5-5595FE6B30EE} UsersFilesFolder
(現在のユーザー)\リンク {59031A47-3F72-44A7-89C5-5595FE6B30EE}\{BFB9D5E0-C6A9-404C-B2B2-AE6DB6AF4968} Links
(現在のユーザー)\検索 {59031A47-3F72-44A7-89C5-5595FE6B30EE}\{7D1D3A04-DEBB-4115-95CF-2F29DA2920DA} Searches
最近表示した場所 {22877A6D-37A1-461A-91B0-DBDA5AAEBC99}
最近使った項目 Recent
ネットワーク {F02C1A0D-BE21-4350-88B0-7367FC96EF3C} NetworkPlacesFolder
ごみ箱 {645FF040-5081-101B-9F08-00AA002F954E} RecycleBinFolder
検索結果 {9343812E-1C37-4A49-A12E-4B2D810D956B} SearchHomeFolder
Windowsディレクトリ Windows
Windowsシステムディレクトリ System
Program Files ProgramFiles
コントロールパネル {26EE0668-A00A-44D7-9371-BEB064C98683}
  • 履歴:
  • 2006/12/1 「指定したファイルを選択して表示する」と「ルートフォルダを指定して表示する」を追加。
  • 2014/8/19 「/n」と「/e」がWindows Vista以降で使えない説明を追加。「特殊なフォルダを開く」を追加など。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • Windows Vista以降でUACが有効になっていると、ファイルへの書き込みに失敗する可能性があります。詳しくは、こちらをご覧ください。
  • .NET Tipsをご利用いただく際は、注意事項をお守りください。