Créer Batch Windows pour lister certains fichiers précis

Résolu/Fermé
Nico_lepi Messages postés 3 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 29 mai 2014 - 28 mai 2014 à 16:21
Nico_lepi Messages postés 3 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 29 mai 2014 - 29 mai 2014 à 13:39
Bonjour à tous,
J'essaie de me remettre dans la prog de batch windows mais ça fait longtemp que j'ai pas touché à tout ça!

Voilà mon problème :

J'ai un répertoire windows dans lequel j'ai des fichiers .cr2 et des fichiers .jpg. A chaque fichier .cr2 doit correspondre un fichier .jpg (ex : blabla.cr2 et blabla.jpg)

Mais j'ai des exceptions et je voudrais donc créer un batch qui me liste tous les fichiers .cr2 qui n'ont pas leur équivalent .jpg.

J'ai commencé un truc mais ça ne marche pas..

@echo off
echo Bienvenue

for /R %%f in ("E:\== PHOTOS ==\Istanbul\") do
(
if %%~xf==.cr2
echo %%f
for /R %%g in ("E:\== PHOTOS ==\Istanbul\") do
(
if not exist %%~nf.jpg echo %%f à supprimer
)

)
echo Fin de la vérif
pause


Pouvez-vous m'aider??

Merci!
A voir également:

4 réponses

dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
29 mai 2014 à 08:46
hello
essayer
for /r %%a in ("E:\== PHOTOS ==\Istanbul\*.cr2") do if not exist "%%~pa%%~na.jpg" echo %%a à supprimer
0
Nico_lepi Messages postés 3 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 29 mai 2014
29 mai 2014 à 11:31
Merci pour ta réponse. Y'a du mieux, y'a plus de problème de syntaxe déjà! Mais ça ne marche toujours pas.

Le problème a l'air d'être au niveau du for /r %%a in ("E:\== PHOTOS ==\Istanbul\*.cr2") car même quand je mets juste un simple echo %%a après, rien ne s'affiche alors que j'ai bien des fichiers .cr2 dans ce dossier..
0
dubcek Messages postés 18718 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 22 mars 2024 5 615
29 mai 2014 à 12:20
essayer
for /r "E:\== PHOTOS ==\Istanbul" %%a  in (*.cr2)
0
Nico_lepi Messages postés 3 Date d'inscription mercredi 28 mai 2014 Statut Membre Dernière intervention 29 mai 2014
29 mai 2014 à 13:39
Super, j'ai fait un mix de tes deux propositions, remodifié un peu et ça marche maintenant! Voici le code final :

for /r "E:\== PHOTOS ==\Istanbul" %%a in (*.cr2) do if not exist %%~dpa%%~na.jpg echo %%a à supprimer

Merci beaucoup pour ton aide :-)
0