wake-up-neo.com

Befehlszeile, um Bildeigenschaften zurückzugeben

Ich versuche, eine Textdatei mit einigen Details zu Bilddateien in einem Ordner und seinen Unterordnern zurückzugeben. Speziell:

  • Dateipfad
  • Bilderweiterung
  • Bildabmessungen
  • Aufnahmedatum
  • Kameramodell

Diese Eigenschaften sind möglicherweise nicht für alle Bilder verfügbar. Ich bin mir nicht sicher, ob dies noch ein Problem sein wird.

Das Abrufen der Dateiliste ist in Ordnung. DIR C:\[...]\FOLDER\*.* /S| (glaube ich) . Es ist der nächste Teil, bei dem ich mir nicht sicher bin. Ich habe Informationen zu anderen Betriebssystemen gefunden und WMIC vorgeschlagen. Ich habe versucht, dies mit einem Test für eine einzelne Datei zu verwenden:

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

Es wird jedoch Error: Invalid query zurückgegeben, sodass ich vermute, dass WMIC nicht mit Bildern funktioniert oder zumindest einige der Argumente geändert werden müssen.

Wenn ich wmic datafile get/? eingebe, bemerke ich auch, dass Dimensionen nicht als eine der verfügbaren Eigenschaften aufgeführt sind. Das ist ungefähr so ​​viel Problembehandlung, wie ich tun kann.

Gibt es eine Möglichkeit, Eigenschaften einer Image-Datei (oder einer Liste von Dateien) in Windows über die Befehlszeile zurückzugeben? Wenn nicht, bin ich offen für alles, was keine Installation zusätzlicher Software erfordert. Irgendwelche Vorschläge?

7
Greedo

Wie kann ich die Eigenschaften einer Image-Datei in Windows über die Befehlszeile abrufen?

Sie können dies mit PowerShell tun.

Üblicherweise ausgefüllte Metadaten für Bilddateien enthalten die Kamera, die Blende, die Auflösung und andere nützliche Informationen zum Foto. Dies kann für jeden, der Fotos macht, äußerst nützlich sein. Die Bildmetadaten können auf der Registerkarte Datei für das Foto leicht gefunden werden, indem Sie auf Eigenschaften und dann auf Details klicken.

...

Wenn Sie Windows PowerShell zum Untersuchen dieser Art von Metadaten verwenden möchten, müssen Sie das Shell.Application-COM-Objekt verwenden, eine Verbindung zu einer Datei herstellen und anschließend den Metadaten-Eigenschaftsbereich durchsuchen. Diese Technik ist etwas umständlich. Zum Glück kann ich die gleiche Funktion verwenden, die ich gestern geschrieben habe, um diese Aufgabe zu erledigen.

Beachten Sie, dass die vollständige Funktion zum Abrufen von Dateimetadaten im Script Center-Repository verfügbar ist.

...

Achten Sie darauf, die Ergebnisse zu speichern

Da das Skript möglicherweise Tausende von Fotos durchlaufen muss und für jedes Foto mehrere hundert Metadatenattribute durchsucht werden müssen, dauert die Ausführung des Skripts einige Zeit. Am besten speichern Sie die Ergebnisse in einer Variablen. Auf diese Weise können die Daten nach dem Lauf sortiert und nachbearbeitet werden.

Das Get-FileMetaDataReturnObject.ps1-Skript enthält eine einzelne Funktion. Die Funktion ist die Funktion Get -FileMetadata. Ich lade die Funktion in die Windows PowerShell ISE und führe sie aus, um die Funktion in den Speicher zu kopieren. Danach rufe ich die Funktion auf und übergebe ihr eine Reihe von Ordnerpfaden. Ich erhalte das Array der Ordnerpfade mithilfe des Cmdlets Get-ChildItem. Hier ist der Befehl, der eine rekursive Suche nach einem Ordner mit dem Namen pics durchführt und die Verzeichnispfade in diesem Ordner abruft. Dies ist ein einzeiliger Befehl, der umgebrochen wurde.

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

...

Schreibe es in eine Datei

Nachdem ich weiß, dass der Befehl die gewünschte Ausgabe erzeugt, leite ich die Ergebnisse wie hier gezeigt an das Cmdlet Export-CSV weiter (dies ist ein einzeiliger Befehl):

$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

Quelle Verwenden Sie PowerShell, um Metadaten aus Fotodateien zu suchen

Lesen Sie den obigen Quelllink, um zu sehen, welche anderen Metadaten verfügbar sind.

4
DavidPostill

Es gibt viele Tools für die cmd-Zeile, mit denen Bildmetadaten abgerufen/extrahiert werden können.

  1. IrfanView
  2. Exiftool
  3. nconvert

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

Beispielausgabe (nur 1 Bild):

>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

Mit mehr oder weniger Aufwand kann die Ausgabe nach den relevanten Eigenschaften gefiltert und mit Batch-Dateien wie gewünscht formatiert werden.

2
LotPings

Ohne externe Programme zu installieren: tooltipinfo.bat oder imginfo.bat - Übergeben Sie einfach den Dateinamen (oder den Pfad, wenn er sich nicht im selben Verzeichnis befindet), um die Informationen abzurufen.

1
npocmaka