
Ich versuche, eine Textdatei zurückzugeben, die einige Details zu Bilddateien in einem Ordner und seinen Unterordnern enthält. Genauer gesagt:
- Dateipfad
- Bilderweiterung
- Bildabmessungen
- Aufnahmedatum
- Kameramodell
Diese Eigenschaften sind möglicherweise nicht für alle Bilder verfügbar. Ich bin mir noch nicht sicher, ob das ein Problem darstellt.
Das Abrufen der Dateiliste ist in Ordnung.DIR C:\[...]\FOLDER\*.* /S|
(Ich finde). Beim nächsten Teil bin ich mir nicht sicher; ich habe Informationen zu anderen Betriebssystemen gefunden und auch WMIC
Vorschläge dazu gehört. Ich habe versucht, das mit einem Test an einer einzelnen Datei zu verwenden:
wmic datafile where Name="C:\[...]\IMG_5443.JPG" get Name,FileType > "C:\[...]\info.txt"
Aber es kommt zurück Error: Invalid query
, also nehme ich an, dass WMIC nicht mit Bildern funktioniert oder dass zumindest einige der Argumente geändert werden müssen.
Mir fällt auch auf, dass die Dimensionen bei der Eingabe wmic datafile get/?
nicht als eine der verfügbaren Eigenschaften aufgeführt sind. Das ist ungefähr alles, was ich zur Fehlerbehebung weiß.
Gibt es eine Möglichkeit, Eigenschaften einesBildDatei (oder Dateiliste) in Windows über die Befehlszeile. Wenn nicht, bin ich für alles offen, was keine Installation zusätzlicher Software erfordert. Irgendwelche Vorschläge?
Antwort1
Wie kann ich in Windows über die Befehlszeile die Eigenschaften einer Bilddatei abrufen?
Sie können dies mit PowerShell tun.
Häufig ausgefüllte Metadaten für Bilddateien enthalten die Kamera, die Blendenzahl, 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 finden Sie ganz einfach auf der Registerkarte „Datei“ für das Foto, indem Sie auf „Eigenschaften“ und dann auf „Details“ klicken.
...
Um diese Art von Metadaten mit Windows PowerShell zu untersuchen, muss man das Shell.Application-COM-Objekt verwenden, eine Verbindung zu einer Datei herstellen und dann den Metadaten-Eigenschaftenbehälter durchgehen. Diese Technik ist etwas umständlich. Glücklicherweise kann ich für diese Aufgabe dieselbe Funktion verwenden, die ich gestern geschrieben habe.
Beachten Sie die kompletteDateimetadaten abrufenDie Funktion ist im Script Center Repository verfügbar.
...
Stellen Sie sicher, dass Sie die Ergebnisse speichern
Da das Skript möglicherweise Tausende von Fotos durchlaufen muss und für jedes Foto mehrere hundert Metadatenattribute durchsuchen muss, dauert die Ausführung des Skripts einige Zeit. Am besten speichern Sie die Ergebnisse in einer Variablen. Dadurch können die Daten nach der Ausführung sortiert und nach der Erfassung verarbeitet werden.
Das
Get-FileMetaDataReturnObject.ps1
Skript enthält eine einzelne Funktion. Die Funktion ist die Get-FileMetadata
Funktion. 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 ein Array von Ordnerpfaden. Ich erhalte das Array von Ordnerpfaden mithilfe desGet-ChildItem
Cmdlets. Hier ist der Befehl, der eine rekursive Suche nach einem Ordner mit dem Namen „pics“ durchführt und die Verzeichnispfade in diesem Ordner herauszieht. Dies ist ein einzeiliger Befehl mit Wrapper.$picMetadata = Get-FileMetaData -folder (Get-childitem E:\pics -Recurse -Directory).FullName
...
Schreiben Sie es in eine Datei
Nachdem ich nun weiß, dass der Befehl die gewünschte Ausgabe erzeugt, leite ich die Ergebnisse
Export-CSV
wie hier gezeigt an das Cmdlet 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
QuelleVerwenden Sie PowerShell, um Metadaten aus Fotodateien zu finden
Lesen Sie den obigen Quellenlink, um zu sehen, welche anderen Metadaten verfügbar sind.
Antwort2
Ohne Installation externer Programme:tooltipinfo.bat
oderimginfo.bat
- Übergeben Sie einfach den Dateinamen (oder den Pfad, wenn er sich nicht im selben Verzeichnis befindet), um die Informationen zu erhalten.
Antwort3
Es gibt viele Tools für die Befehlszeile, die Bildmetadaten abrufen/extrahieren können.
> "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 auf die relevanten Eigenschaften gefiltert und mit Batchdateien nach Wunsch formatiert werden.