HOWTO · PowerShell
PowerShell を使用してフォルダーを開く方法
このチュートリアルでは、PowerShell を使用してフォルダーを開く方法を教えます。
このページの内容
PowerShell から Windows のエクスプローラーでフォルダーを開くには、Invoke-Item -LiteralPath 'C:\Users\Public' を実行し、パスを開きたいフォルダーのものに置き換えます。現在の作業ディレクトリを開く場合は . を使います。ファイルのパスを指定して、ファイルを開くこともできます。以下では、同じ操作を行うコマンドと、それぞれが適した場面を紹介します。
エクスプローラーを開くには Windows が必要です。そのため、以下のフォルダーやファイルを開くコマンドは構文例です。実行可能なスニペットは、Windows の PowerShell セッションで使うコマンドを表示しますが、エクスプローラー自体は起動しません。
Invoke-Item コマンドレットで PowerShell からフォルダーを開く
Invoke-Item は、パスに対する既定の操作を実行します。フォルダーを指定するとエクスプローラーで開き、ファイルを指定すると Windows がそのファイルに関連付けられたアプリで開きます。パスに空白が含まれる場合は引用符で囲みます。また、-LiteralPath を使うと、角括弧などの文字が名前の一部として扱われます。
コピーして使えるコマンドを確認するには、このスニペットでサンプルのフォルダーを指定した Invoke-Item の形式を表示します。
Write-Output "Invoke-Item -LiteralPath 'C:\Users\Public'"
Invoke-Item -LiteralPath 'C:\Users\Public'
PowerShell セッションが現在作業しているディレクトリを開くには、. を渡します。例: Invoke-Item -LiteralPath .。
ファイルを開くには、その完全なパスを指定します。Invoke-Item -LiteralPath 'C:\Users\Public\Documents\example.txt' のパスを、コンピューター上に存在するファイルのパスに置き換えてください。
短いエイリアスの ii でも同じコマンドレットを実行できます。そのため、ii -LiteralPath 'C:\Users\Public' でもそのフォルダーを開けます。スクリプトでは分かりやすさを優先して Invoke-Item を使い、対話的な操作では便利な ii を使うとよいでしょう。
Start-Process(エイリアス start)で PowerShell からフォルダーを開く
Start-Process は、パスに関連付けられたアプリケーションを起動します。PowerShell でのエイリアスは start です。このエイリアスは、コマンド プロンプトに組み込まれている start コマンドとは別のものです。パスに空白が含まれる場合は、引用符で囲みます。
指定したフォルダーを開くには Start-Process -FilePath 'C:\Users\Public'、現在の作業ディレクトリを開くには Start-Process -FilePath . を使います。
対話的な操作では、エイリアスを使って start -FilePath 'C:\Users\Public' と入力することもできます。これらのコマンドは Windows にフォルダーを開くよう要求しますが、PowerShell の現在のディレクトリは変更しません。
explorer コマンドで PowerShell からフォルダーを開く
Windows のエクスプローラーで開くことを明示したい場合は、explorer を実行します。フォルダーのパス、または現在の作業ディレクトリを表す . を指定します。
指定したフォルダーには explorer 'C:\Users\Public'、現在の作業ディレクトリには explorer . を使います。
パスに空白が含まれる場合は引用符で囲みます。このコマンドは指定した場所をエクスプローラーで開き、PowerShell セッションの現在のディレクトリはそのままにします。
cmd.exe の start コマンドで PowerShell からフォルダーを開く
PowerShell から cmd.exe を介して、コマンド プロンプトの start コマンドを実行できます。/c オプションは、cmd.exe にコマンドを実行してから終了するよう指示します。start の直後にある空の引用符付き文字列はウィンドウ タイトルの引数で、その後の引用符で囲まれたパスが開くフォルダーを指定します。
たとえば、cmd.exe /c start "" "C:\Users\Public" は、コマンド プロンプトの start コマンドを使ってサンプルのフォルダーを開きます。
PowerShell セッションからコマンド プロンプトの start 構文を使いたい場合に便利です。パスに空白が含まれていても1つの引数として扱われるよう、フォルダーのパスは引用符で囲みます。
まとめ
フォルダーやファイルに対する既定の操作には Invoke-Item、関連付けられたアプリケーションの起動には Start-Process、エクスプローラーで場所を開くには explorer を使います。どの方法でも . を指定すると現在の作業ディレクトリを開けます。サンプルのパスは、Windows コンピューター上に実在する場所に置き換えてください。