IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Lister les fichiers images par diemensions


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Inscrit en
    Août 2012
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2012
    Messages : 19
    Points : 1
    Points
    1
    Par défaut Lister les fichiers images par diemensions
    Bonjour,
    Dans un répertoire je cherche à lister les fichiers images en les classant par dimensions (pas par taille) c'est à dire en fonction des pixels.
    En mode graphique j'affiche le tout en Détail j'ajoute la colonne Dimensions et c'est magique.
    Seulement je voudrais faire ça de façon automatique pour ensuite supprimer les fichiers n'ayant pas de dimensions.

    Connaîtriez-vous la commande qui fait ce tri ? J'imagine qu'elle existe vu que Windows le fait en mode graphique.
    Merci de votre aide.

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut [BAT] Récupérer les dimensions (X,Y) d'une image
    En batch pur tu ne peux pas.

    Pour cela tu peux utiliser cette commande externe : GetImageDim.exe

    Utilisation :

    GetImageDim.exe fichier.[png,jpg,gif,bmp]

    avec ce code pour récupérer les dimension des .JPG dur répertoire courant :

    Test.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @echo off
    for %%a in (*.jpg) do (
      for /f  "skip=1 tokens=1,2 delims= " %%b in ('GetImageDim.exe %%a') do echo Image : %%a X[%%b] Y[%%c])
    Sinon grâce au COM en utilisant PowerShell ou VBS on peut imaginer des script mixte de ce genre. (Ici un BAT/POWERSHELL)

    GetImageDim.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    ::GetImageDim.bat By SachaDee - 2014
    @echo off&cls
    
    (echo @echo off
     echo For /f "delims=:" %%%%a In ^(^'
     echo findstr ^/Bn "@PS" %%~nx0
     echo '^) do Set /A Line=%%%%a
    
     echo for ^/f  "delims=" %%%%x in  ^(^'more +%%Line%% %%^~nx0  ^^^| powershell -c -^'^) do echo %%%%x
    
    echo exit ^/b
    
    echo @PS
    echo $image = New-Object -ComObject Wia.ImageFile 
    echo $image.LoadFile^("%1"^)  
    echo write $image.Width $image.Height
    ) >$Dim.bat
    
    call $Dim.bat
    Utilisation :

    GetImageDim.bat Nom_du_Fichier.jpg


    Donc pour lister les .JPG du répertoire courant, avec leurs dimensions, en utilisant GetImageDim.bat :

    affJpg.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    @echo off
    setlocal enabledelayedexpansion
    
    for %%a in (*.jpg) do (
      for /f  "tokens=1,2 delims=-" %%b in ('Call GetImageDim.bat %%a') do (
             set "$Largeur=%%b"
             set "$Hauteur=%%c"
          echo Image : %%a X[!$Largeur:~1!] Y[!$Hauteur%!]))
    Pour le script mixte BAT/POWERSHEL je me suis inspiré de la technique publié ICI par notre ami @I'm Here que je salut au passage.

    On peut utiliser la même technique avec du VBS :

    GetImageDim.vbs :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Set objImage = CreateObject("WIA.ImageFile")
    objImage.LoadFile WScript.Arguments.item(0)
    WScript.Echo objImage.Width objImage.Height
    Utilisation :

    GetImageDim.vbs Nom_du_Fichier.jpg


    Que vous pouvez adapter de la même manière pour faire un mixte BAT/VBS

    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/10/2016, 20h56
  2. [XL-2003] Lister les fichiers protégés par mot de passe
    Par macat dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 27/10/2010, 12h04
  3. Supprimer les fichiers images générés par BIRT
    Par elbrujo2323 dans le forum BIRT
    Réponses: 0
    Dernier message: 21/05/2008, 18h41
  4. Lister les fichiers d'un dossier par page
    Par bwatex dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 17/08/2006, 20h09
  5. lister les fichiers d'un repertoire par date
    Par ra77 dans le forum Langage
    Réponses: 1
    Dernier message: 02/06/2006, 04h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo