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 :

Automatisation de tri photo


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut Automatisation de tri photo
    Bonjour, je suis nouveau sur le forum, et demande votre aide concernant un script que je voudrais faire, mais je peche un peu
    sous environnement windows, j'ai le repertoire "d:\photos" dans lequel se trouve en vrac un tas de photos (plusieurs Gb ^^)
    je voudrais creer un script qui automatise le rangement de ces photos suivant plusieurs criteres dans l'ordre:
    annee de creation de la photo\appareil photo (etant donne que le nom est different suivant mes appareils)\Mois de creation de la photo
    ce qui donnerait par exemple:
    d:\photos_triees\2013\app1\Janvier\aa000001.jpg
    d:\photos_triees\2013\app1\Mars\aa000002.jpg
    d:\photos_triees\2013\app2\Janvier\bb000001.jpg
    d:\photos_triees\2013\app2\Aout\bb000002.jpg
    Je voudrais qu'a l'execution de ce script, la creation des repertoires, le tri, la copie se fasse automatiquement, sans risque de perte

    par avance je vous remercie
    cordialement

  2. #2
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Si vous voulez tester ce code en Vbscript : Recherche & Sauvegarde des fichiers par leurs Extensions

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    tout d'abord, merci de repondre a mon probleme, mais cela ne le resoud pas

    En fait, mon probleme est que tous les jours, des photos arrivent dans ce repertoire, avec un nom particulier par appareil, et tous les jours, il faudra lancer ce batch pour les trier et les archiver, donc tache plannifiee, et batch sans interaction humaine.

    J'ai un peu commencé mon script, mais je rame un peu
    en gros, voila ou j'en suis:
    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
    21
    22
    23
    @echo off 
    :: format de date à adapter dd/mm/yyyy
    set $y=%date:~6,4%
    set $s=%date:~3,2%
    ================================
    Set $s=%$s:*0=%
    if not defined $s set $s=10
    Set /a $s+=1
    If %$s% gtr 12 Set /A $s=1,$y+=1
    ================================
    Set Source=F:\Travail\Photos
    Set Destination=F:\Travail\Photos_Out
    
    ================================
    
    for /f "tokens=1" %%a in (list.txt) do md %Destination%\%$y%\%%a
    
    (For /F "tokens=%$s%" %%z In (
     "Janvier Fevrier Mars Avril May Juin Juillet Aout Septembre Octobre Novembre Decembre"
    ) do (
     mkdir "%Destination%\%$y%\%%z"
    
    ))2>nul
    maintenant, je n'arrive pas a creer mon repertoire "mois" dans chaque repertoire créé par ma list.txt

  4. #4
    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
    Par défaut
    Salut,

    2 questions :

    le nom de l'appareil correspond a quoi ? Au 3 premiers caractères du fichier foto ?

    Dans ton script tu récupères la date système, il ne serait pas mieux de récupèrer la date du fichier ?

    amicalement

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    bonjour sachadee, et merci de t'interresser a mon probleme

    Citation Envoyé par sachadee Voir le message
    le nom de l'appareil correspond a quoi ? Au 3 premiers caractères du fichier foto ?
    le nom de l'appareil correspond en fait a la personne qui a pris la photo, d'ou le fichier texte pour definir le nom (sur une colonne, les noms les uns a la suite des autres), chaque appareil ayant une syntaxe differente de creation de nom de fichier, je voudrais creer une regle qui deplacera la photo dans le repertoire de la personne concernee en fonction de la syntaxe / nom donné dans le fichier texte

    Citation Envoyé par sachadee Voir le message
    Dans ton script tu récupères la date système, il ne serait pas mieux de récupèrer la date du fichier ?
    si, en effet, ce qui m'interresse est de classer les photos suivant l'ordre suivant
    • annee de prise de vue
    • personne qui a pris la photo
    • mois de prise de vue


    cordialement

  6. #6
    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
    Par défaut
    Envoie un bout de ton fichier texte avec les corélations appareil et photografe et un exemple de nom de fichier foto à traiter.

    Amicalement

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    Mon fichier texte est basic:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    marie
    renee
    stephane
    quand a la corelation, chaque utilisateur a son propre appareil avec son initiale dans le nom de la photo:
    marie = mj000001.jpg
    renee = rd000001.jpg
    stephane = sp000001.jpg

    Encore merci

  8. #8
    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
    Par défaut
    Salut,

    test ce code (fonctionne pour vista e 7) pour xp tu dois modifier les variables relatives au dates.
    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    ::: Par Sachadee
    ::: 11-03-2013
    @echo off
    
    Set Source=F:\Travail\Photos
    Set Destination=Set Destination=F:\Travail\Photos_Out
    
    set $datef=
    set $fichier=
    set $moisf=
    set $anf=
    set $initialef=
    set $repf=
    
    setlocal enabledelayedexpansion enableextensions
    for /f %%a in ('dir /aa /b') do (
                                           set $fichier=%%a&echo FICHIER EN TRAITEMENT : !$fichier!
                                           set $datef=%%~ta&echo DATE CREATION : !$datef!
                                           set $anf=!$datef:~6,4!&echo ANNEE CREATION : !$anf!
                                           set $moisf=!$datef:~3,2!&echo MOIS CREATION : !$moisf!
                                           set $initialef=!$fichier:~0,1!&echo INITIAL FOTOGRAPHE : !$initialef!
    ::::::ICI ON DEFINIE LES UTILISATEURS
                                           if !$initialef!==m (set $repf=%destination%\!$anf!\MARIE&echo DESTINATION DE L IMAGE : !$repf!\!$moisf!
                                                                      call :traitement)
                                           if !$initialef!==r (set $repf=%destination%\!$anf!\RENEE&echo DESTINATION DE L IMAGE : !$repf!\!$moisf!
                                                                      call :traitement)
                                           if !$initialef!==s (set $repf=%destination%\!$anf!\STEPHANE&echo DESTINATION DE L IMAGE : !$repf!\!$moisf!
                                                                      call :traitement)
    
                                           echo PHOTOGRAPHE INCONNUE, INITIALE = !$initialef!>>FOTO.LOG
                                           )
    cls
    type foto.log
    goto end
    
    :traitement
    
    ::: ON TEST L EXISTENCE DES REPERTOIRES
    
    if not exist %destination% md %destination%
    if not exist %destination%\!$anf! md %destination%\!$anf!
    if not exist %destination%\!$anf! md %destination%\!$anf!
    if not exist !$repf! md !$repf!
    if not exist !$repf!\!$moisf! md !$repf!\!$moisf!
    if exist !$repf!\!$moisf! (copy %source%\!$fichier!  !$repf!\!$moisf!
                                         echo FICHIER  %source%\!$fichier! COPIE
                                         goto end)
    echo ERREUR REPERTOIRE NON TROUVE
    
    :end
    
    endlocal
    A toi de l'améliorer si tu veux les mois en clair (JANVIER au lieu de 01),
    si tu veux definir les utilisateurs dans un fichier séparer, etc...

    Mais tu as une bonne base, qui fonctionne.

    Test et retourne tes commentaires, ou souhait.

    Amicalement

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Mars 2013
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Transports

    Informations forums :
    Inscription : Mars 2013
    Messages : 7
    Par défaut
    Aujourd'hui, dieu a un nouveau saint ^^, merci a toi saint Sachadee

    Alors, c parfait mais comment lui expliqué que tout ce qui reste, s'il en reste, soit trié dans un repertoire a part, genre poubelle?
    dans le style:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if not !$initialef!==!$initialef! (set $repf=%destination%\!$anf!\Trash&echo DESTINATION DE L IMAGE : !$repf!\!$moisf!
    	                                                          call :traitement)
    et le log repertorie tout en tant que photograope inconnue, mais bon le log, c pas l'important pour moi

    mci st Sacha ^^

Discussions similaires

  1. [Galerie] Tri d'une galerie photos
    Par hindioriental dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 0
    Dernier message: 19/06/2014, 15h12
  2. [XL-2003] Macro pour automatiser plusieurs tris et exports
    Par pat.852 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 21/03/2013, 19h08
  3. tri de photos
    Par duchmul dans le forum Scripts/Batch
    Réponses: 5
    Dernier message: 19/09/2011, 12h26
  4. [POO] Tri de photo avec menu deroulant
    Par gueno dans le forum Langage
    Réponses: 6
    Dernier message: 21/03/2006, 18h29
  5. tri de liste chainée
    Par RezzA dans le forum C
    Réponses: 7
    Dernier message: 26/01/2003, 20h25

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