PowerShell でファイルバージョンを取得する方法
-
Get-Itemを使用して PowerShell でファイルバージョンを取得する -
Get-ChildItemを使用して PowerShell でファイルバージョンを取得する -
Get-Commandを使用して PowerShell でファイルバージョンを取得する -
System.Diagnostics.FileVersionInfoを使用して PowerShell でファイルバージョンを取得する - 結論
ファイルのバージョン番号は、特にソフトウェアやシステムファイルの管理およびトラブルシューティングを行う際に重要な情報です。PowerShell では、さまざまな cmdlet やメソッドを使用して、このバージョン情報を簡単に取得できます。
実行可能ファイルには、.exe や .dll のようなバージョン情報が含まれています。テキストファイルにはバージョン情報がないことに注意してください。
バージョン情報には、ファイル名、ファイルバージョン、会社名、製品名、製品バージョン、言語が含まれています。このチュートリアルでは、PowerShell でファイルのバージョンを取得する方法を学びます。
Get-Item を使用して PowerShell でファイルバージョンを取得する
PowerShell は、ファイルバージョンを取得するための複数の cmdlet やメソッドを提供しており、Get-Item はその 1つです。このメソッドは、最も単純で使いやすい方法の 1つです。
構文:
(Get-Item "Path\to\file").VersionInfo.FileVersion
Get-Item: これは、指定されたパスにあるファイルまたはディレクトリに関する情報を取得するために使用される PowerShell の cmdlet です。これは、単一のファイルまたはディレクトリに関する情報のみを取得します。"Path\to\file": これは、Get-Itemに提供される引数です。それは、検査されるファイルまたはディレクトリのパスを指定します。.VersionInfo: これは、バージョン情報にアクセスし、検査するためのプロパティです。.FileVersion: これは、ファイルのバージョンを具体的に取得するVersionInfoプロパティのサブプロパティです。
次の例では、Get-Item と VersionInfo.FileVersion を使用して、ファイル C:\Program Files\Google\Chrome\Application\chrome.exe のバージョンを取得する方法を示しています。
(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo.FileVersion
(Get-Item "C:\Program Files\Google\Chrome\Application\chrome.exe") 行は、指定されたパスにあるファイルに関する情報を取得するために Get-Item cmdlet を使用しています。これは、指定されたディレクトリにある Chrome 実行可能ファイル(chrome.exe)です。次に、ファイル情報が取得されると、コードはファイルの VersionInfo プロパティにアクセスします。このプロパティにはバージョン情報など、ファイルに関するさまざまな詳細が含まれています。
最後に、.FileVersion は、我々が興味がある特定の情報、つまり Chrome 実行可能ファイルのファイルバージョンを取得します。
出力:
98.0.4758.102
出力 98.0.4758.102 は、指定されたパスにある Chrome 実行可能ファイルのファイルバージョンを表しています。この場合、システムにインストールされている Google Chrome のバージョンは 98.0.4758.102 であることを示しています。
Get-ChildItem を使用して PowerShell でファイルバージョンを取得する
Get-ChildItem は、1つ以上の指定された場所にあるアイテムおよび子アイテムを取得します。また、Get-ChildItem を VersionInfo.FileVersion プロパティと共に使用して、PowerShell でファイルバージョンを取得することもできます。
構文:
(Get-ChildItem "Path\to\file").VersionInfo.FileVersion
Get-ChildItem: この cmdlet は、指定された場所にあるファイルおよびディレクトリを一覧表示するために使用されます。"Path\to\file": これは、Get-ChildItemに提供される引数です。検査したいファイルまたはディレクトリのパスを指定します。.VersionInfo: このプロパティは、バージョン情報にアクセスし、検査するためのものです。.FileVersion: これは、ファイルのバージョンを具体的に取得するVersionInfoのサブプロパティです。
例:
(Get-ChildItem "C:\Program Files\Google\Chrome\Application\chrome.exe").VersionInfo.FileVersion
(Get-ChildItem "C:\Program Files\Google\Chrome\Application\chrome.exe") 行は、指定されたパスにあるファイルに関する情報を取得するために Get-ChildItem cmdlet を使用しています。これは、指定されたディレクトリにある Chrome 実行可能ファイル(chrome.exe)です。Get-ChildItem は、指定された場所にあるファイルやディレクトリを一覧表示するために使用されます。
次に、ファイル情報が取得されると、コードはファイルの VersionInfo プロパティにアクセスし、このプロパティにはバージョン情報に関するさまざまな詳細が含まれています。最後に、.FileVersion は、Chrome 実行可能ファイルのファイルバージョンである我々が興味のある特定の情報を取得します。
出力:
98.0.4758.102
出力 98.0.4758.102 は、指定されたパスにある Chrome 実行可能ファイルのファイルバージョンを表しています。この場合、システムにインストールされている Google Chrome のバージョンは 98.0.4758.102 であることを示しています。
Get-Command を使用して PowerShell でファイルバージョンを取得する
Get-Command cmdlet は、コンピュータにインストールされているすべてのコマンドを取得します。これには、すべての cmdlet、エイリアス、関数、スクリプト、およびアプリケーションが含まれます。
Get-Command を使用して FileVersionInfo.FileVersion プロパティを使って、PowerShell でファイルバージョンを取得できます。
構文:
(Get-Command "Path\to\file").FileVersionInfo.FileVersion
Get-Command: これは、コマンド、スクリプト、または実行可能ファイルに関する情報を取得するために使用される cmdlet です。PowerShell コマンド、関数、または外部実行可能ファイルに関する情報を見つけるために使用できます。"Path\to\file": これは、Get-Commandに提供される引数です。検査したいコマンド、スクリプト、または実行可能ファイルのパスを指定します。.FileVersionInfo: このプロパティは、コマンドまたはスクリプトのバージョン情報の詳細を提供します。.FileVersion: これはFileVersionInfoプロパティのサブプロパティです。コマンドまたはスクリプトのファイルバージョンを具体的に取得します。
次のコマンドは、C:\Windows\System32\ActionCenter.dll ファイルのファイルバージョン番号を取得します。
(Get-Command C:\Windows\System32\ActionCenter.dll).FileVersionInfo.FileVersion
(Get-Command C:\Windows\System32\ActionCenter.dll) は、指定されたコマンド(この場合は DLL ファイル)に関する情報を取得するために Get-Command cmdlet を使用しています。ファイルパスを Get-Command に引数として提供すると、そのファイルに関する情報が返され、プロパティが含まれます。
ファイル情報が取得されると、コードはファイルオブジェクトの FileVersionInfo プロパティにアクセスします。FileVersionInfo プロパティには、ファイルに関するさまざまな詳細、特にそのバージョン情報が含まれています。
最後に、.FileVersion は、ActionCenter.dll ファイルのファイルバージョンという、我々が興味のある特定の情報を取得します。
出力:
10.0.19041.1 (WinBuild.160101.0800)
出力 10.0.19041.1 (WinBuild.160101.0800) は、指定されたパスにある ActionCenter.dll ファイルのファイルバージョンを表しています。この場合、システムにある ActionCenter.dll ファイルのバージョンは 10.0.19041.1 (WinBuild.160101.0800) であることを示しています。
System.Diagnostics.FileVersionInfo を使用して PowerShell でファイルバージョンを取得する
このメソッドは、引数としてファイルパス(取得したいバージョン情報の実際のファイルパス)を指定して呼び出されます。このメソッド呼び出しでは、指定されたファイルに関するバージョン情報が取得されます。
System.Diagnostics.FileVersionInfo クラスは、.NET Framework からファイルのバージョン情報を提供します。GetVersionInfo() メソッドと FileVersion プロパティを使用して、ファイルのバージョン番号を取得できます。
構文:
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("Path\to\file").FileVersion
[System.Diagnostics.FileVersionInfo]: この部分は、ファイルバージョン情報にアクセスするために使用される.NET Framework クラスを指定します。この.NET クラスは、通常は実行可能ファイルに関するバージョン情報へのアクセスを提供しますが、他のタイプのファイルに対しても使用できます。GetVersionInfo: これは、引数に指定されたファイルのバージョン情報を取得するメソッドです。"Path\to\file": これは、GetVersionInfoメソッドに提供される引数です。検査したいファイルの正確なパスを指定します。.FileVersion: このプロパティは、ファイルのファイルバージョンを具体的に取得します。ファイルバージョンは、通常、ファイルやソフトウェアのバージョンを表す数値です。
例:
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\ActionCenter.dll").FileVersion
[System.Diagnostics.FileVersionInfo]::GetVersionInfo("C:\Windows\System32\ActionCenter.dll") 行は、.NET Framework の一部である [System.Diagnostics.FileVersionInfo] クラスを使用して、指定されたファイルに関するバージョン情報を取得します。::構文は、FileVersionInfo クラスの静的メソッド GetVersionInfo にアクセスするために使用され、"C:\Windows\System32\ActionCenter.dll"パスがこのメソッドに引数として提供されます。
その後、バージョン情報が取得されると、コードは FileVersionInfo オブジェクトの FileVersion プロパティにアクセスします。最後に、FileVersion プロパティはファイルのバージョンを表す文字列を含みます。
出力:
10.0.19041.1 (WinBuild.160101.0800)
出力 10.0.19041.1 (WinBuild.160101.0800) は、ActionCenter.dll ファイルのファイルバージョンを表しています。この場合、システムにある ActionCenter.dll ファイルのバージョンは 10.0.19041.1 (WinBuild.160101.0800) であることを示しています。
結論
PowerShell でのファイルバージョン情報の取得をマスターすることは、効果的なファイル管理とトラブルシューティングのための基本的なスキルです。この記事では、データを簡単に抽出するための 4つの方法を学びました。
Get-Item、Get-ChildItem、Get-Command、または System.Diagnostics.FileVersionInfo アプローチを使用するかどうかにかかわらず、ファイルバージョンの詳細を取得するための多目的なツールキットを手に入れました。
