イメージのプロパティを返すコマンドライン

イメージのプロパティを返すコマンドライン

フォルダーとそのサブフォルダー内の画像ファイルに関する詳細を含むテキスト ファイルを返そうとしています。具体的には、次のようになります。

  • ファイルパス
  • 画像拡張子
  • 画像サイズ
  • 取得されたデータ
  • カメラモデル

これらのプロパティはすべての画像で使用できるわけではないため、それが問題になるかどうかはまだわかりません。

ファイルのリストを取得することは問題ありません。DIR C:\[...]\FOLDER\*.* /S| (私は思う)次の部分についてはよくわかりません。他の OS に関する情報も見つかりましたし、WMIC提案も聞いたことがあります。1 つのファイルでテストしてそれを使用しようとしました。

wmic datafile where Name="C:\[...]\IMG_5443.JPG" get Name,FileType > "C:\[...]\info.txt"

しかし、返されるError: Invalid queryので、WMIC はイメージでは機能しないか、少なくともいくつかの引数を変更する必要があると思われます。

また、入力すると、wmic datafile get/?寸法が使用可能なプロパティの 1 つとしてリストされないことにも気付きました。私が知っているトラブルシューティングはこれくらいです。

では、プロパティを返す方法はあるのでしょうか?画像コマンドラインを使用して、Windows でファイル (またはファイルのリスト) を実行します。そうでない場合は、追加のソフトウェアのインストールを必要としない方法であれば何でも構いません。何か提案はありますか?

答え1

コマンドラインを使用して Windows でイメージ ファイルのプロパティを取得するにはどうすればよいですか?

PowerShell を使用してこれを実行できます。

画像ファイルに一般的に入力されるメタデータには、カメラ、F 値、解像度、写真に関するその他の有用な情報が含まれます。これは、写真を撮る人にとって非常に役立ちます。画像のメタデータは、写真の [ファイル] タブで [プロパティ]、[詳細] の順にクリックすると簡単に見つかります。

...

Windows PowerShell を使用してこの種類のメタデータを調べるには、Shell.Application COM オブジェクトを使用し、ファイルに接続して、メタデータ プロパティ バッグを調べる必要があります。この手法は少し面倒です。幸い、昨日作成したのと同じ関数を使用してこのタスクを実行できます。

完全なファイルのメタデータを取得この関数はスクリプト センター リポジトリで利用できます。

...

結果を必ず保存してください

スクリプトは何千枚もの写真を反復処理する必要があり、写真ごとに数百のメタデータ属性を検索する必要がある可能性があるため、スクリプトの実行には時間がかかります。最善の方法は、結果を変数に保存することです。これにより、実行後にデータの並べ替えと収集後の処理が可能になります。

Get-FileMetaDataReturnObject.ps1スクリプトには 1 つの関数が含まれています。その関数は GetFileMetadata関数です。Windows PowerShell ISE で関数を読み込み、実行して関数をメモリにコピーします。その後、関数を呼び出してフォルダー パスの配列を渡します。コマンドレットを使用してフォルダー パスの配列を取得します。Get-ChildItem以下は、pics という名前のフォルダーの再帰検索を実行し、そのフォルダー内のディレクトリ パスを取得するコマンドです。これは、ラップされた 1 行のコマンドです。

$picMetadata = Get-FileMetaData -folder (Get-childitem E:\pics -Recurse -Directory).FullName

...

ファイルに書き込む

コマンドが希望する出力を生成することがわかったので、Export-CSV次に示すように結果をコマンドレットにパイプします (これは 1 行のコマンドです)。

$picMetadata | 
Select 'camera model', dimensions, f-stop, 'flash mode', 'iso speed', 'exposure time', 'focal length', size, path |
Export-CSV -Path c:\fso\photoMetadata.csv -NoTypeInformation

ソースPowerShell を使用して写真ファイルからメタデータを検索する

他にどのようなメタデータが利用可能かを確認するには、上記のソース リンクを読んでください。

答え2

外部プログラムをインストールしない場合:tooltipinfo.batまたはimginfo.bat- 情報を取得するには、ファイル名 (同じディレクトリにない場合はパス) を渡すだけです。

答え3

イメージのメタデータを取得/抽出できるコマンド ライン用のツールは多数あります。

  1. イルファンビュー
  2. エグジフツール
  3. 変換しない

> "C\Program Files\IrfanView\i_view64.exe" *.jpg /info=Jpeg_Info.txt /fullinfo

サンプル出力(画像 1 枚のみ):

>type Jpeg_Info.txt
[Scan-100210-0002.jpg]
File name = Scan-100210-0002.jpg
Directory =
Compression = JPEG, quality: 90, subsampling ON (2x2)
Resolution = 300 x 300 DPI
Image dimensions = 2206 x 3264  Pixels (7.20 MPixels) (1.48)
Print size = 18.7 x 27.6 cm; 7.35 x 10.88 inches
Color depth = 16,7 Million   (24 BitsPerPixel)
Number of unique colors = 83260
Disk size = 918.01 KB (940.042 Bytes)
Current memory size = 20.61  MB (21.607.720 Bytes)
File date/time = 2010-02-10 / 21:59:07

- EXIF -
Make - Canon
Model - N650U
ExifOffset - 86
DateTimeDigitized - 2010:02:10 21:59:01

> exiftool  Scan-100210-0001.jpg
ExifTool Version Number         : 9.73
File Name                       : Scan-100210-0001.jpg
Directory                       : .
File Size                       : 884 kB
File Modification Date/Time     : 2010:02:10 21:21:28+01:00
File Access Date/Time           : 2010:02:10 21:21:22+01:00
File Creation Date/Time         : 2010:02:10 21:21:22+01:00
File Permissions                : rw-rw-rw-
File Type                       : JPEG
MIME Type                       : image/jpeg
JFIF Version                    : 1.01
Resolution Unit                 : inches
X Resolution                    : 300
Y Resolution                    : 300
Exif Byte Order                 : Little-endian (Intel, II)
Make                            : Canon
Camera Model Name               : N650U
Page Name                       : Reflective
Create Date                     : 2010:02:10 20:21:22
Image Width                     : 2202
Image Height                    : 3264
Encoding Process                : Baseline DCT, Huffman coding
Bits Per Sample                 : 8
Color Components                : 3
Y Cb Cr Sub Sampling            : YCbCr4:2:0 (2 2)
Image Size                      : 2202x3264

> nconvert -fullinfo Scan-100210-0001.jpg 2>Nul
** NCONVERT v6.88 (c) 1991-2016 Pierre-E Gougelet (Apr 29 2016/17:06:08) **
        Version for Windows Xp/Vista/7 x64  (All rights reserved)
** This is freeware software (for non-commercial use)
Scan-100210-0001.jpg : Success
    Format               : JPEG TrueColor (v1.1)
    Name                 : jpeg
    Compression          : JPEG
    Width                : 2202
    Height               : 3264
    Components per pixel : 3
    Bits per component   : 8
    Depth                : 24
    # colors             : 16777216
    Color model          : RGB
    Bytes Per Plane      : 6606
    Orientation          : Top Left
    Xdpi                 : 300
    Ydpi                 : 300
    Page(s)              : 1
    Metadata             : ( EXIF )
EXIF:
  Camera:
    Camera Manufacturer  (0x010f): Canon
    Camera Model         (0x0110): N650U
  Image:
    Date digitized       (0x9004): 2010:02:10 20:21:22

多少の労力で、出力を関連するプロパティにフィルタリングし、バッチ ファイルを使用して希望どおりにフォーマットすることができます。

関連情報