傳回圖像屬性的命令列

傳回圖像屬性的命令列

我正在嘗試返回一個文字文件,其中包含有關資料夾及其子資料夾中圖像文件的一些詳細資訊。具體來說:

  • 文件路徑
  • 圖片延伸
  • 影像尺寸
  • 拍攝日期
  • 相機型號

這些屬性可能並不適用於每個圖像 - 我不確定這是否會成為問題。

取得文件清單就可以了;DIR C:\[...]\FOLDER\*.* /S| (我認為)。這是我不確定的下一部分;我找到了其他作業系統的訊息,也聽到了WMIC建議。我嘗試在單一文件上進行測試:

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

但它返回了,Error: Invalid query所以我猜測 WMIC 不適用於圖像,或者至少需要更改一些參數。

我還注意到,當我輸入時,wmic datafile get/?尺寸並未列為可用屬性之一。這就是我所知道的盡可能多的故障排除。

那麼有沒有辦法回傳一個屬性影像使用命令列在 Windows 中建立檔案(或檔案清單)。如果沒有,我願意接受任何不需要安裝額外軟體的東西。有什麼建議麼?

答案1

如何使用命令列在 Windows 中取得影像檔案的屬性?

您可以使用 PowerShell 來執行此操作。

通常填寫的影像檔案元資料包含相機、光圈值、解析度以及其他有關照片的有用資訊。這對於任何拍照的人來說都非常有用。點擊“屬性”,然後點擊“詳細資料”,可以從照片的“檔案”標籤輕鬆找到圖像元資料。

要使用 Windows PowerShell 檢查此類元資料意味著使用 Shell.Application COM 對象,連接到文件,然後遍歷元資料屬性包。這個技術有點麻煩。幸運的是,我可以使用昨天編寫的相同函數來完成此任務。

注意完整取得文件元數據腳本中心儲存庫中提供了該功能。

確保儲存結果

由於腳本可能需要迭代數千張照片,並且對於每張照片需要搜尋數百個元資料屬性,因此腳本將需要一些時間來運行。最好的方法是將結果儲存在變數中。這將允許對運行後的資料進行排序和後收集處理。

Get-FileMetaDataReturnObject.ps1腳本包含一個函數。該函數是 Get-FileMetadata函數。我在 Windows PowerShell ISE 中載入該函數,並運行它以將該函數複製到記憶體中。完成此操作後,我調用該函數並向其傳遞資料夾路徑數組。我使用 cmdlet 來取得資料夾路徑數組Get-ChildItem。以下指令會對名為 pics 的資料夾執行遞歸查找,並擷取該資料夾中的目錄路徑。這是一個已換行的單行命令。

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

將其寫入文件

現在我知道該命令會產生我想要的輸出,我將結果透過管道傳輸到 cmdlet,Export-CSV如下所示(這是一個單行命令):

$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. Exif工具
  3. 轉換

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

範例輸出(只有一張圖片):

>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

透過或多或少的努力,可以將輸出過濾為相關屬性,並使用批次檔按照您想要的方式格式化。

相關內容