Software » "Synchro" entre fichiers d'extensions différentes
Catégorie:  
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 10:28:57,
Par Georgio
Bonjour à tous

Bon le titre est un peu confus, mais je ne trouvais pas comment exprimer mon problème différemment.

Je vous explique donc en vitesse :

J'ai dans un répertoire 3200 fichiers RAW(enfin .nef).

Dans un deuxieme dossier j'ai les mêmes photos mais en jpeg (qui résulte en fait de la conversion des RAW du premier dossier sans retouches). Dans ce deuxième dossier j'ai effectué un tri et il ne me reste "que" 1000 photos.

Le gros du problème est de "synchroniser" les dossiers afin qu'il ne me reste dans le dossier 1 que les RAW des photos qui se trouvent en jpeg dans le 2eme dossier (et une fois de plus je trouve pas une autre manière d'éclaircir cette phrase) afin de pouvoir traiter les RAW.

Au passage, l'OS est windows 8

En espérant que quelqu'un puisse m'aider :grin:

(J'suis sûr qu'en le faisant à la main j'vais me planter ^^ )
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 10:39:05,
Par Jean-Christophe
Donc, si je comprends bien, tu as deux répertoires.
Le premier contient 3200 fichier NEF.
Le second contient 1000 fichier JPEG.
Les 1000 fichiers JPEG ont le même nom que 1000 des 3200 fichiers NEF (à l'extension près).
Tu voudrais virer les 2200 fichier NEF qui n'ont pas d'équivalent JPEG.

C'est ça?
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 10:55:52,
Par Georgio
Exactement JC :grin:
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 11:50:50,
Par Jean-Christophe
Voici un batch qui fait ce que tu veux. :smile:

@echo off
cls

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

mkdir c:\temp\F1\Orphans\
FOR /R C:\temp\F1\ %G IN (*.nef) DO (call :subroutine "%G")



GOTO :eof

:subroutine
set NEFFile=%1
Set JPEGFile=%NEFFile:nef=jpeg%

rem --------- VOIR CI DESSOUS -----------
rem change "\temp\F1" par le repertoire qui contient les fichier NEF (sans le drive:)
rem change "\temp\F2" par le repertoire qui contient les fichier JPEG (sans le drive:)

Set JPEGFile=%JPEGFile:\temp\F1=\temp\F2%


IF NOT EXIST (

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

move c:\temp\F1\Orphans\
)

GOTO :eof


Si ce n'est pas assez clair, n'hésite pas à le dire.
Il n'y a aucun effacement de fichier. Je ne fais que les déplacer dans un répertoire "Orphans".
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 12:48:41,
Par Georgio
Ma réponse n'est pas passée :sad:

Je recommence donc :grin:

Je vais tester ca tout de suite et je te tiens au courant si j'ai un problème :grin:

Mais déjà un tout grand merci :grin:
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:08:07,
Par Georgio
Bon j'ai un problème (oui je suis un noob ^^ )

J'ai modifié les répertoires dans le batch. Ensuite je l'ai enregistré en .bat

Je l'ai lancé en ligne de commande et j'obtiens uniquement "subroutine était inattendu"

Voici ce que j'ai dans le bat :


@echo off
cls

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

mkdir c:\photo\thairaw\Orphans\
FOR /R C:\photo\thairaw\ %G IN (*.nef) DO (call :subroutine "%G")



GOTO :eof

:subroutine
set NEFFile=%1
Set JPEGFile=%NEFFile:nef=jpeg%

rem --------- VOIR CI DESSOUS -----------
rem change "\temp\F1" par le repertoire qui contient les fichier NEF (sans le drive:)
rem change "\temp\F2" par le repertoire qui contient les fichier JPEG (sans le drive:)

Set JPEGFile=%JPEGFile:\photo\thairaw=\photo\thaijpg%


IF NOT EXIST (

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

move c:\photo\thairaw\Orphans\
)

GOTO :eof

Dernière édition: 28/03/2013 @ 13:11:18
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:29:00,
Par Jean-Christophe
Damned! Les doubles % sont devenus des simples % dans le forum.


@echo off
cls

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

mkdir c:\temp\F1\Orphans\
FOR /R C:\temp\F1\ %G IN (*.nef) DO (call :subroutine "%G")




GOTO :eof

:subroutine
set NEFFile=%1
Set JPEGFile=%NEFFile:nef=jpeg%

rem --------- VOIR CI DESSOUS -----------
rem change "\temp\F1" par le repertoire qui contient les fichier NEF (sans le drive:)
rem change "\temp\F2" par le repertoire qui contient les fichier JPEG (sans le drive:)

Set JPEGFile=%JPEGFile:\temp\F1=\temp\F2%


IF NOT EXIST (

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

move c:\temp\F1\Orphans\
)

GOTO :eof

Dernière édition: 28/03/2013 @ 13:29:36
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:30:10,
Par Jean-Christophe
Bordel... Toujours pas de double %
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:32:54,
Par Jean-Christophe
J'ai du mettre un blanc entre les doubles %. Il faut virer le blanc aux deux endroits où il y a "% %"

@echo off
cls

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

mkdir c:\temp\F1\Orphans\
FOR /R C:\temp\F1\ % %G IN (*.nef) DO (call :subroutine "% %G")




GOTO :eof

:subroutine
set NEFFile=%1
Set JPEGFile=%NEFFile:nef=jpeg%

rem --------- VOIR CI DESSOUS -----------
rem change "\temp\F1" par le repertoire qui contient les fichier NEF (sans le drive:)
rem change "\temp\F2" par le repertoire qui contient les fichier JPEG (sans le drive:)

Set JPEGFile=%JPEGFile:\temp\F1=\temp\F2%


IF NOT EXIST (

rem --------- VOIR CI DESSOUS -----------
rem change "c:\temp\F1\" par le repertoire qui contient les fichier NEF

move c:\temp\F1\Orphans\
)

GOTO :eof
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:34:39,
Par Jean-Christophe
Pour faire court. Dans le ligne qui commence par FOR, il faut que le signe % qui précède la lettre G soit double. C'est tout. :oh:
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:37:59,
Par Georgio
Merci :wink:

Mais toujours le même message à propos de la sub routine

je reverifie encore ma modification du batch
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:41:33,
Par Jean-Christophe
renomme ton fichier .bat en .cmd si tu veux bien :smile:
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:44:12,
Par Georgio
Pas de changement en changeant l'extension. Le dossier "Orphans" se crée bien mais toujours le probleme de "subroutine"
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:51:24,
Par Jean-Christophe
tu as bien doublé les % dans la ligne FOR? Je viens d'essayer ici, sur un windows 8 et ça fonctionne.
Mais en laissant les simples %, j'ai bien le même message d'erreur que toi :smile:
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:57:21,
Par Georgio
Bon la on avance vraiment...

J'ai donc supprimé les espaces entre les %

Mais là il me vire tous les nef dans le dossier Orphans
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 13:59:32,
Par Jean-Christophe
c'est qu'il ne trouve pas d'équivalent en JPEG dans l'autre folder.
Les fichiers ont bien les mêmes noms?

FolderNEF
- fichier1.nef
- fichier2.nef
- fichier3.nef

FolderJPEG
- fichier1.jpeg
- fichier3.jpeg
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 14:00:59,
Par Georgio
je crois que ca vient du fait que les fichiers sont en .JPG (MAJ etc...) je teste de modifier ca de mon coté :smile:

J'ai remplacé les jpeg par JPG mais toujours pas de modification au niveau du résultat

Mais au moins j'ai plus de message d'erreur :grin:

Ne te tracasse pas trop j'vais encore chipotter un peu pour voir ce que ca donne :wink:

Dernière édition: 28/03/2013 @ 14:03:16
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 14:03:34,
Par H2G2
Je serais bien incapable de pondre du code, mais au cas où le joli batch de JC ne produirait pas le résultat souhaité, il y a moyen de faire ce que tu cherches (sous Win 7, en tout cas) en jouant un peu avec le soft Ant Renamer (du vénéré antp :prosterne: ).
Par ex.:
Tu fais une copie de ton dossier 2 vers un dossier 3 où tu remplaces (avec Ant Renamer) toutes les extensions "JPEG" par "NEF".
Tu déplaces (ou tu copies pour pas tout niquer si ça foire) tout le contenu de ton dossier 1 vers le dossier 3, mais en demandant de conserver les fichiers du même nom pour que Windows ajoute un (2) dans le nom des nouveaux fichiers en double.
Toujours avec Ant Renamer, tu fais un remplacement de chaîne (en incluant l'extension) de "(2).NEF" par ".BON" (par ex.).
Dans ton dossier tu tries par extension et tu vires tous les "NEF".
Il ne te reste plus qu'à remplacer les extensions "BON" qui sont les seuls fichiers à rester par "NEF" et le tour est joué.
Maintenant, il y a sûrement plus simple, hein. :petrus:
« Nul n'éprouvette en son pays. » (Louise Brown)
Twitter: Quand le besoin est pressant, tous les lieux sont propices.
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 14:05:27,
Par Georgio
Et voila :wink:

J'avais juste oublié une occurence de jpeg dans le script

Ca marche nickel ^^

Merci merci...

PS :J'vais rajouter des remarques dans le script pour ne plus me faire passer pour un con la prochaine fois :grin:

N'empêche la j'ai fait fort niveau boulet attitude :tongue:

Dernière édition: 28/03/2013 @ 14:07:43
   
"Synchro" entre fichiers d'extensions différentes
Publié le 28/03/2013 @ 14:16:13,
Par Jean-Christophe
Boh, ça marche, c'est le principal.
Et puis, on a pas été aidé par le forum qui a sucré les doubles % sans raison ni message d'avertissement :oh:
Répondre - Catégorie:  
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?