命令行返回图像属性

命令行返回图像属性

我正在尝试返回一个文本文件,其中包含有关文件夹及其子文件夹中图像文件的一些详细信息。具体来说:

  • 文件路径
  • 图像扩展
  • 图像尺寸
  • 拍摄日期
  • 相机型号

这些属性可能并不适用于每个图像 - 我不确定这是否会成为问题。

获取文件列表就可以了;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

cmd 行有很多工具可以获取/提取图像元数据。

  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

通过或多或少的努力,可以将输出过滤为相关属性,并使用批处理文件按照您想要的方式进行格式化。

相关内容