J'essaie de renvoyer un fichier texte contenant des détails sur les fichiers image d'un dossier et de ses sous-dossiers. Plus précisément:
Ces propriétés ne sont peut-être pas disponibles pour toutes les images. Je ne sais pas si cela posera encore problème.
Obtenir la liste des fichiers, c'est bien; DIR C:\[...]\FOLDER\*.* /S|
(je pense) . Je ne suis pas sûr de la partie suivante. J'ai trouvé des informations sur d'autres systèmes d'exploitation, j'ai aussi entendu WMIC
suggéré. J'ai essayé de l'utiliser avec un test sur un seul fichier:
wmic datafile where Name="C:\[...]\IMG_5443.JPG" get Name,FileType > "C:\[...]\info.txt"
Mais comme il retourne Error: Invalid query
, je suppose que WMIC ne fonctionne pas avec les images, ou du moins que certains des arguments doivent être modifiés.
Je remarque également, lorsque je saisis wmic datafile get/?
, que les dimensions ne sont pas répertoriées parmi les propriétés disponibles. C'est à peu près autant de dépannage que je sais comment faire.
Il existe donc un moyen de renvoyer les propriétés d’un fichier (ou d'une liste de fichiers) Image dans Windows en utilisant la ligne de commande. Sinon, je suis ouvert à tout ce qui ne nécessite pas l'installation de logiciel supplémentaire. Aucune suggestion?
Vous pouvez le faire en utilisant PowerShell.
Les métadonnées couramment remplies pour les fichiers image contiennent l'appareil photo, le diaphragme, la résolution et d'autres informations utiles sur la photo. Cela peut être extrêmement utile pour quiconque prend des photos. Les métadonnées de l'image se trouvent facilement dans l'onglet Fichier de la photo en cliquant sur Propriétés, puis sur Détails.
...
Utiliser Windows PowerShell pour examiner ce type de métadonnées signifie utiliser l'objet COM Shell.Application, se connecter à un fichier, puis parcourir le panier de propriétés de métadonnées. Cette technique est un peu lourde. Heureusement, je peux utiliser la même fonction que celle que j'ai écrite hier pour accomplir cette tâche.
Notez que la fonction complète Obtenir les métadonnées de fichier est disponible dans le référentiel de centre de scripts.
...
Assurez-vous de stocker les résultats
Comme il est possible que le script doive parcourir plusieurs milliers de photos et que, pour chaque photo, il ait besoin de rechercher plusieurs centaines d'attributs de métadonnées, l'exécution du script prendra un certain temps. La meilleure chose à faire est de stocker les résultats dans une variable. Cela permettra le tri et le traitement post-collecte des données après le traitement.
Le script
Get-FileMetaDataReturnObject.ps1
contient une seule fonction. La fonction est la fonction Get -FileMetadata
. Je charge la fonction dans Windows PowerShell ISE et je l'exécute pour la copier en mémoire. Après cela, j'appelle la fonction et lui passe un tableau de chemins de dossiers. Je reçois le tableau de chemins de dossier en utilisant l'applet de commandeGet-ChildItem
. Voici la commande qui effectue une recherche récursive sur un dossier nommé pics et extrait les chemins de répertoire de ce dossier. Ceci est une commande simple ligne qui a été bouclée.$picMetadata = Get-FileMetaData -folder (Get-childitem E:\pics -Recurse -Directory).FullName
...
Ecrivez-le dans un fichier
Maintenant que je sais que la commande produit le résultat souhaité, je dirige les résultats vers l'applet de commande
Export-CSV
, comme indiqué ici (il s'agit d'une commande à une seule ligne):$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
Source Utilisez PowerShell pour rechercher des métadonnées à partir de fichiers photo
Lisez le lien source ci-dessus pour voir quelles autres métadonnées sont disponibles.
Il existe de nombreux outils pour la ligne de commande qui permettent d’obtenir/d’extraire des métadonnées d’image.
> "C\Program Files\IrfanView\i_view64.exe" *.jpg /info=Jpeg_Info.txt /fullinfo
Exemple de sortie (1 seule image):
>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
Avec plus ou moins d'effort, la sortie peut être filtrée selon les propriétés pertinentes et formatée comme vous le souhaitez avec des fichiers de traitement par lots.
Sans installer de programmes externes: tooltipinfo.bat
ou imginfo.bat
- transmettez simplement le nom du fichier (ou le chemin s'il ne se trouve pas dans le même répertoire) pour obtenir les informations.