[shell msdos] Renommer plusieurs fichiers jpg
Résolu/Fermé
Hadri1
Messages postés
10
Date d'inscription
dimanche 17 juin 2007
Statut
Membre
Dernière intervention
29 juin 2008
-
17 juin 2007 à 19:33
dubcek Messages postés 18752 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 3 octobre 2024 - 19 juin 2007 à 10:13
dubcek Messages postés 18752 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 3 octobre 2024 - 19 juin 2007 à 10:13
A voir également:
- Ajouter un préfixe à plusieurs fichiers
- Prefixe france - Guide
- Renommer plusieurs fichiers - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ajouter un compte gmail - Guide
4 réponses
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
18 juin 2007 à 13:44
18 juin 2007 à 13:44
Chez moi, il fonctionne. le problème c'est les noms de fichiers avec espace.
mettre des "
for %%x in (*.%suffixe%) do call :modif "%%x" %prefixe% %suffixe%
mettre des "
for %%x in (*.%suffixe%) do call :modif "%%x" %prefixe% %suffixe%
Hadri1
Messages postés
10
Date d'inscription
dimanche 17 juin 2007
Statut
Membre
Dernière intervention
29 juin 2008
1
18 juin 2007 à 20:13
18 juin 2007 à 20:13
En effet Dubcek, les guillemets resolvent le problème, quoi que je ne comprenne pas vraiment pourquoi.
Taz, est-ce qu'il serait possible d'avoir les conclusions de la personne avec qui tu t'es penché sur mon problème? Je ne vois pas ce qui peut faire la différence entre ta version et la mienne, il n'y a que des paramètres que je passe en plus dans la fonction modif et une petite gestion des erreurs, je ne pense pas que ça vienne de là.
Merci à vous deux.
Taz, est-ce qu'il serait possible d'avoir les conclusions de la personne avec qui tu t'es penché sur mon problème? Je ne vois pas ce qui peut faire la différence entre ta version et la mienne, il n'y a que des paramètres que je passe en plus dans la fonction modif et une petite gestion des erreurs, je ne pense pas que ça vienne de là.
Merci à vous deux.
dubcek
Messages postés
18752
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
3 octobre 2024
5 619
19 juin 2007 à 10:13
19 juin 2007 à 10:13
Si ton fichier s'apelle a<blanc>b.jpg DOS va passer,
parce que le blanc est le séparateur d'éléments:
for %%x in (*.%suffixe%) do call :modif a b.jpg %prefixe% %suffixe%
donc %1 = a, %2 = b.jpg
avec les guillemets, %1="a<blanc>b.jpg", %2 = %prefixe%
parce que le blanc est le séparateur d'éléments:
for %%x in (*.%suffixe%) do call :modif a b.jpg %prefixe% %suffixe%
donc %1 = a, %2 = b.jpg
avec les guillemets, %1="a<blanc>b.jpg", %2 = %prefixe%
bonjour,
après discussion sur ton message avec un spécialiste, il en est arrivé à la conclusion que ton batch ne peut pas fonctionner sur de nbx points.
Voici une courte version qui fonctionne :
@echo off
cls
rem On se situe dand le repertoire d execution du batch ...
rem On veut renommer tous les fichiers dont l extension est passee en parametre positionnel 2
rem par le prefixe qui est passe en parametre positionnel 1, avec un compteur incremental ...
if "%1"=="" echo Pas de parametres en entree de ce batch ...
set Compteur=0
set prefixe=photo
set suffixe=jpg
for %%x in (*.%suffixe%) do call :modif %%x
goto Fin
:modif
set /a Compteur+=1
rename %1 %prefixe%%Compteur%.%suffixe%
goto :eof
:Fin
après discussion sur ton message avec un spécialiste, il en est arrivé à la conclusion que ton batch ne peut pas fonctionner sur de nbx points.
Voici une courte version qui fonctionne :
@echo off
cls
rem On se situe dand le repertoire d execution du batch ...
rem On veut renommer tous les fichiers dont l extension est passee en parametre positionnel 2
rem par le prefixe qui est passe en parametre positionnel 1, avec un compteur incremental ...
if "%1"=="" echo Pas de parametres en entree de ce batch ...
set Compteur=0
set prefixe=photo
set suffixe=jpg
for %%x in (*.%suffixe%) do call :modif %%x
goto Fin
:modif
set /a Compteur+=1
rename %1 %prefixe%%Compteur%.%suffixe%
goto :eof
:Fin