29歳、離婚しました。

家事は元妻にまかせっきり。そんな生活力ゼロ男の離婚後の生活を綴ったブログです。著者がその後の生活の中で見つけた生活術やお役立ち情報をお届けします。

PowerShellを使ってサイズや更新日時、バージョンなど、ファイルのプロパティ情報を取得する方法

   

このブログでは、アフィリエイト広告を利用しています。

PowerShellを使って更新日時やバージョンなど、ファイルのプロパティ情報を取得したい!

Windows PCの運用管理や設定変更を、PowerShellを使って自動化する際、ファイルのプロパティ情報を取得したいことがあります。

たとえばファイルの更新日時やバージョン情報を確認し、最新のファイルでなければ、インターネット上からファイルデータを取得。
そしてPC上のファイルを最新バージョンのファイルに置き換えるだとか。

特定ファイルの属性情報(読み取り専用、隠しファイル、NTFS圧縮されているかどうかなど)を確認。
もしも読み取り専用が解除されていた場合には、読み取り専用に設定を変更し、ファイルを保護する、といったケースが考えられます。

参考:PowerShellを使ってファイルをインターネットからダウンロードする方法

そこで今回は、作成日時や更新日時、アクセス日時、バージョンなど、ファイルやフォルダーの各種プロパティ情報をPowerShellを使って取得する方法をご紹介します!

PowerShellを使ってファイルやフォルダーのプロパティ情報を取得する方法

PowerShellを使ってファイルやフォルダーの各種プロパティ情報を取得したいときは、『Get-ItemProperty』コマンドレットを使用します。
使い方はとても簡単で、『Get-ItemProperty “情報の取得対象ファイルのパス”』という構文でコマンドを実行するだけでOKです。

たとえばOffice 2016に含まれているExcel 2016の実行ファイルのプロパティ情報を取得したいときは、以下のようなコマンドを実行します。※

PowerShellの『Get-ItemProperty』コマンドレットの実行例

※Officeをインストールする際、インストール先フォルダーのパスを変更している環境などでは、Excel 2016の実行ファイルのパスが異なります。

『Get-ItemProperty』コマンドレットで取得可能な各種プロパティ情報について

『Get-ItemProperty』コマンドレットでは、取得対象の情報を指定していない場合、先ほど提示した実行例のとおり『Mode』(属性情報)と『LastWriteTime』(更新日時)、『Length』(ファイルのサイズ)、『Name』(ファイル名)の情報が取得されます。
ですが取得対象の情報を指定することで、これら以外のプロパティ情報についても取得可能です。

参考までに、使用されることが多いであろう各種プロパティ情報について、Office 2016に含まれているExcel 2016の実行ファイルのプロパティ情報を取得する方法を例に、その取得方法をご紹介しましょう!

ファイルが保存されているフォルダー名を取得する:

ファイル名を取得する:

ファイルサイズ(『ディスク上のサイズ』ではなく『サイズ』※)を取得する


ファイルのプロパティ画面では、以下のように『サイズ』と『ディスク上のサイズ』を確認可能です。

サイズが403KB、ディスク上のサイズが600KBのフォルダーのプロパティ画面

このうち、『(Get-ItemProperty “情報の取得対象ファイルのパス”).Length』で取得できるのは、『ディスク上のサイズ』ではなく『サイズ』となります。

参考:ファイルやフォルダーのサイズとディスク上のサイズが違う理由を徹底解説!

ファイルが読み取り専用かどうかを取得する:

ファイルの拡張子を取得する:

ファイルの作成日時を取得する:

ファイルの作成日時(UTC = 協定世界時)を取得する:

ファイルの更新日時を取得する:

ファイルの更新日時(UTC = 協定世界時)を取得する:

ファイルのアクセス日時を取得する:

ファイルのアクセス日時(UTC = 協定世界時)を取得する:

ファイルの属性情報(読み取り専用、隠しファイル、NTFS圧縮されているかどうかなど)を取得する:

また、読み取り専用や隠しファイル、システム属性を持っているかどうかは、以下のようにModeを参照する方法でも取得可能です。

Modeで取得できる情報は、以下のとおりです。

  • d:フォルダーであることを示す
  • a:ファイルをアーカイブ可能にする(アーカイブ属性を持っていることを示す)
  • r:読み取り専用であることを示す
  • h:隠しファイルであることを示す
  • s:システムファイルであることを示す
  • l:シンボリックリンクであることを示す

『Get-ItemProperty』コマンドレットで取得可能な情報を一括して取得する方法

『Get-ItemProperty』コマンドレットで取得可能な情報を一括して取得したい場合には、『Select-Object』コマンドレットを組み合わせ、『Get-ItemProperty “情報の取得対象ファイルのパス” | Select-Object *』形式でコマンドを実行してください。

※『Select-Object *』を併用した『Get-ItemProperty』コマンドレットの実行結果は量が多いため、上記実行例では一部結果のみを例示しています。

ファイルのバージョン情報の取得について

ファイルのバージョン情報の取得については、『Get-ItemProperty』コマンドレットで取得できる『VersionInfo』を参照することで、詳細な情報を確認可能です。

『VersionInfo』についても、取得する情報を指定しない場合では一部の情報(『ProductVersion』、『FileVersion』、『FileName』)のみが取得されます。
そのため、取得したい情報がこれらではない場合には、以下実行コマンドの例を参考に取得したい情報を指定すると良いでしょう。

ファイルのバージョンを取得する:

ファイルのメジャーバージョンのみを取得する:

ファイルの製品バージョンを取得する:

ファイルの会社名を取得する:

ファイルの製品名を取得する:

ファイルの説明を取得する:

ファイルの言語を取得する:

『VersionInfo』の情報をすべて一括で取得したい場合にも、『Select-Object *』を併用した以下コマンドを実行することで、情報を取得できます。

以上、参考になさってくださーい!

 - Windows, デジタル・家電

ピックアップ コンテンツ&スポンサーリンク