wmiを使ってファイルからバージョンを調べる(CIM DataFile)

wmiを使ってファイルからバージョンを調べる(CIM DataFile)

この記事を読むのに必要な時間は約 5 分です。

今回はWMICを使ってファイルからソフトウェアのバージョンを取得してみたいと思います。

バージョンの取得を product から行わない

おさらい

通常、WMICを使ってソフトウェアのバージョンを取得するときは

 wmic product

を使うと思います。

しかし、何らかの理由でこちらにデータが反映されていない事象が発生した場合はどうでしょうか?

プログラムの追加と削除にいないプログラムもある

InternetExplorer とかですね。 プログラムの一覧にそもそもいないですからね。

そういったファイルのバージョンを調べるときなどどうしたらよいでしょうか

そういう時に役に立つのが

wmic datafile

となります。

これはファイルから直接情報を抜き出す方法なので信頼性は高いです。

※たまにファイルにもバージョン情報が埋まっていないプログラムがありますが、そういった場合は対応はできません。

wmic datafileを使ってみる。

それでは試しに実行してみましょう。

対象は偶々目についた以下のプログラムです。

ファイルバージョンを取得してみましょう。

コマンドは以下の通りです。

 

wmic datafile where name="C:\\Program Files\\Oracle\\VirtualBox\\VirtualBox.exe"

結構沢山でますね。

ちょっと見ずらいので出力方式を加工します。

 

wmic datafile where name="C:\\Program Files\\Oracle\\VirtualBox\\VirtualBox.exe" get * /format:list

縦に表示させます。

AccessMask=1179817
Archive=TRUE
Caption=c:\program files\oracle\virtualbox\virtualbox.exe
Compressed=FALSE
CompressionMethod=
CreationClassName=CIM_LogicalFile
CreationDate=20170727133356.000000+540
CSCreationClassName=Win32_ComputerSystem
CSName=***ホスト名が入ります。********
Description=c:\program files\oracle\virtualbox\virtualbox.exe
Drive=c:
EightDotThreeFileName=c:\program files\oracle\virtualbox\virtua~1.exe
Encrypted=FALSE
EncryptionMethod=
Extension=exe
FileName=VirtualBox
FileSize=1069584
FileType=Application
FSCreationClassName=Win32_FileSystem
FSName=NTFS
Hidden=FALSE
InstallDate=20170727133356.000000+540
InUseCount=
LastAccessed=20170902215402.933651+540
LastModified=20170727133356.000000+540
Manufacturer=Oracle Corporation
Name=c:\program files\oracle\virtualbox\virtualbox.exe
Path=\program files\oracle\virtualbox\
Readable=TRUE
Status=OK
System=FALSE
Version=5.1.26.17224
Writeable=TRUE

はい。

ちゃんと、Version=5.1.26.17224 と表示されていますね。

バージョン情報以外にも、インストールした日等も取得できますので利用する機会がある人は結構役立つんじゃないでしょうか

 

タイトルとURLをコピーしました