Línea de comando para devolver propiedades de imagen

Línea de comando para devolver propiedades de imagen

Estoy intentando devolver un archivo de texto que contiene algunos detalles sobre los archivos de imagen en una carpeta y sus subcarpetas. Específicamente:

  • Ruta de archivo
  • Extensión de imagen
  • Dimensiones de la imagen
  • Fecha que se tendrá
  • Modelo de cámara

Es posible que no todas estas propiedades estén disponibles para todas las imágenes; no estoy seguro de si eso será un problema todavía.

Obtener la lista de archivos está bien;DIR C:\[...]\FOLDER\*.* /S| (Creo). Es la siguiente parte de la que no estoy seguro; Encontré información sobre otros sistemas operativos y también escuché WMICsugerencias. Intenté usarlo con una prueba en un solo archivo:

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

Pero regresa, Error: Invalid queryasí que supongo que WMIC no funciona con imágenes, o al menos algunos de los argumentos deben cambiar.

También noto que, cuando entro, wmic datafile get/?las dimensiones no figuran como una de las propiedades disponibles. Eso es todo lo que sé hacer para solucionar problemas.

Entonces, ¿hay alguna manera de devolver las propiedades de unImagenarchivo (o lista de archivos) en Windows usando la línea de comando. Si no, estoy abierto a cualquier cosa que no requiera la instalación de software adicional. ¿Alguna sugerencia?

Respuesta1

¿Cómo puedo obtener las propiedades de un archivo de imagen en Windows usando la línea de comando?

Puedes hacer esto usando PowerShell.

Los metadatos comúnmente completados para archivos de imágenes contienen la cámara, el número F, la resolución y otra información útil sobre la foto. Esto puede resultar extremadamente útil para cualquiera que tome fotografías. Los metadatos de la imagen se encuentran fácilmente en la pestaña Archivo de la foto haciendo clic en Propiedades y luego en Detalles.

...

Usar Windows PowerShell para examinar este tipo de metadatos significa usar el objeto COM Shell.Application, conectarse a un archivo y luego recorrer el paquete de propiedades de metadatos. Esta técnica es un poco engorrosa. Afortunadamente, puedo usar la misma función que escribí ayer para realizar esta tarea.

Tenga en cuenta el completoObtener metadatos de archivosLa función está disponible en el repositorio del Script Center.

...

Asegúrate de almacenar los resultados.

Debido a que es posible que el script necesite recorrer miles de fotos y para cada foto necesite buscar varios cientos de atributos de metadatos, el script tardará algún tiempo en ejecutarse. Lo mejor que puedes hacer es almacenar los resultados en una variable. Esto permitirá la clasificación y el procesamiento posterior a la recopilación de los datos después de la ejecución.

El Get-FileMetaDataReturnObject.ps1script contiene una única función. La función es la FileMetadatafunción Get. Cargo la función en Windows PowerShell ISE y la ejecuto para copiar la función en la memoria. Una vez hecho esto, llamo a la función y le paso una serie de rutas de carpetas. Obtengo la variedad de rutas de carpetas usando el Get-ChildItemcmdlet. Aquí está el comando que realiza una búsqueda recursiva de una carpeta llamada fotos y extrae las rutas del directorio en esa carpeta. Este es un comando de una sola línea que se ha ajustado.

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

...

Escríbalo en un archivo

Ahora que sé que el comando produce el resultado que deseo, canalizo los resultados al Export-CSVcmdlet como se muestra aquí (este es un comando de una sola línea):

$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

FuenteUtilice PowerShell para buscar metadatos de archivos de fotografías

Lea el enlace fuente anterior para ver qué otros metadatos están disponibles.

Respuesta2

Sin instalar programas externos:tooltipinfo.batoimginfo.bat- simplemente pase el nombre del archivo (o la ruta si no está en el mismo directorio) para obtener la información.

Respuesta3

Hay muchas herramientas para la línea cmd que pueden obtener/extraer metadatos de imágenes.

  1. IrfanVer
  2. Exiftool
  3. nconvertir

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

Salida de muestra (solo 1 imagen):

>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

Con más o menos esfuerzo, la salida se puede filtrar según las propiedades relevantes y formatearla como desee con archivos por lotes.

información relacionada