連載
» 2016年07月27日 05時00分 UPDATE

Windows PowerShell基本Tips(5):【 Invoke-Item 】コマンドレット――ファイルやフォルダを開く

本連載は、Windows PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Invoke-Item」コマンドレットです。

[国井傑(Microsoft MVP for Directory Services),株式会社ソフィアネットワーク]
「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、ファイルやフォルダなどのアイテムを開いたり、実行したりする際に役立つ「Invoke-Item」コマンドレットです。

Invoke-Itemコマンドレットとは?

 「Invoke-Item」は、ファイルやフォルダなどのアイテムを、あらかじめ関連付けられたアプリケーションで開くためのコマンドレットです。例えば、Microsoft Wordに関連付けられている拡張子「.docx」のファイルをInvoke-Itemコマンドレットで開くと、Microsoft Wordが起動して、指定した「.docx」ファイルが開きます。

 また、Invoke-Itemコマンドレットは、コマンドプロンプトの「Start」コマンドと同じ要領で使用できます。


Invoke-Itemコマンドレットの書式

Invoke-Item [パス] [オプション]

※[ ]は省略可能な引数を示しています



Invoke-Itemコマンドレットの主なオプション

 Invoke-Itemコマンドレットの主なオプションは次の通りです。

オプション 意味
-Path ファイルやフォルダのパスを指定する。省略可能
-Include 指定した文字列がパスに含まれるファイルやフォルダを開く。省略可能


特定のファイルを開く

 「Invoke-Item ファイルパス」と実行すると、ファイルパスに該当するファイルが開きます。ファイルパスを指定する場合、厳密には「Invoke-Item -Path ファイルパス」としますが、「-Path」オプションは省略可能です。

 また、ファイルパスの指定には「ワイルドカード(*)」も使用できます。特定のフォルダ内にある全てのファイルを実行する場合は、ファイルパスに「<フォルダパス>\*.*」と指定します。

 以下の実行例では、「C:\Work」フォルダ内の拡張子「.txt」のファイルを全て実行しています(画面1)。

コマンドレット実行例

Invoke-Item C:\Work\*.txt


画面1 画面1 ファイルパスにワイルドカード(*)を指定して、「C:\Work」フォルダ内にある全ての「.txt」ファイルを実行しているところ


プログラムを実行する

 指定するファイルが実行プログラムの場合は、プログラムがそのまま実行されます。

 以下の実行例では、「C:\Windows\System32」フォルダの「notepad.exe」を実行しています(画面2)。

コマンドレット実行例

Invoke-Item C:\Windows\System32\notepad.exe


画面2 画面2 Invoke-Itemコマンドレットでプログラムを指定すると、そのプログラムが実行される


パスを指定せずにプログラムを実行する

 環境変数Pathで指定されているフォルダ内のプログラムは、Invoke-Itemコマンドレットおよびパスを指定することなく、プログラムファイル名だけを指定するだけで実行できます。

 なお、環境変数Pathで指定されているフォルダの一覧は、コマンドプロンプトの「Path」コマンドで確認できます。

 以下の実行例では、「C:\Windows\System32」フォルダの「notepad.exe」を実行しています。「C:\Windows\System32」フォルダは環境変数Pathで指定されているフォルダのため、ファイル名(notepad.exe)を指定するだけで実行できます。

コマンドレット実行例

notepad.exe


画面3 画面3 環境変数Pathで指定されているフォルダ内のプログラムは、ファイル名だけで実行できる


インストールされている証明書の一覧を参照する

 前回の「Remove-Item」コマンドレットでも紹介しましたが、Windows PowerShellからアクセス可能なレジストリ証明書環境変数などもパスに指定することができます。

 Invoke-Itemコマンドレットと組み合わせて指定すれば、レジストリを開いたり、証明書にアクセスしたりすることができます。例えば、現在サインインしているユーザーにインストールされている証明書の一覧を参照する場合は、パスに「Cert:\CurrentUser\My」を指定します。

 以下の実行例では、現在サインインしているユーザーにインストールされている証明書の一覧を参照しています(画面4)。

コマンドレット実行例

Invoke-Item Cert:\CurrentUser\My


画面4 画面4 証明書のパスを指定すれば、インストールされている証明書の一覧を参照できる

 なお、Invoke-Itemコマンドレットで証明書を開く際には、「証明書管理ツール」が起動します。ですが、指定したパス(この例では[個人]-[証明書]フォルダ)は自動的には開かないので、手動で開いてください。



筆者紹介

国井 傑(くにい すぐる)

株式会社ソフィアネットワーク取締役。1997年よりマイクロソフト認定トレーナーとして、Active DirectoryやActive Directoryフェデレーションサービス(AD FS)など、ID管理を中心としたトレーニングを提供している。2007年よりMicrosoft MVP for Directory Servicesを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright© 2017 ITmedia, Inc. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。