Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2462 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU]

n°1733338
dindae
Posté le 18-05-2008 à 14:56:33  profilanswer
 

Bonjour,  
 
je bloque sur une partie de mon script..
 
j'utilise un prog qui redimensionne les photos en masse et qui rajoute un "-taille" en fin de fichier.  
Le but est de prendre toutes les photos creer et de les depalcer dans un dossier (jusque la tout va bien).
Une fois dans le dossier je veux virer les "-taille" des noms de fichier, puis leur rajouter un prefix s'il y a besoin.
 
le batch ressemble a ça:
 
-----------------------------------------------
 
@echo off
setlocal EnableDelayedExpansion
 
set /P t=indiquer taille (...640 800 1024 1280 1600...)?:
 
echo off
copy PhotoResize.exe PhotoResize!t!OHM.exe
 
@echo off
setlocal EnableDelayedExpansion
 
@echo off
set currentpath=%CD%  
 
move "PhotoResize!t!OHM.exe" "%CD%"
 
PhotoResize!t!OHM.exe "%CD%"
 
setlocal EnableDelayedExpansion
 
del PhotoResize!t!OHM.exe
 
@echo off
mkdir Redim_!t!
 
move *-!t!.jpg Redim_!t!
 
cd "Redim_!t!"
 
for %%i in (*.jpg) do set VrChm=%%i& set VrFch=%%~nxi& call :suite
:suite
set VrFch=%VrFch:-200=%
echo "%VrChm%" "%VrFch%"
ren "%VrChm%" "%VrFch%"
 
cls
 
echo "Quel Prefix pour la photo ?"
set /P pref=Prefix:
for %%x in (*.jpg) do ren "%%~nxx" "!pref!%%~nxx"
 
-----------------------------------------------
 
 
si je rentre la taille a la main la dedans:
 
for %%i in (*.jpg) do set VrChm=%%i& set VrFch=%%~nxi& call :suite
:suite
set VrFch=%VrFch:-200=%
echo "%VrChm%" "%VrFch%"
ren "%VrChm%" "%VrFch%"
 
ça passe. Mais j'aurais voulu qu'il recupere la variable !t! qui représente la taille et me vire les "-taille" automatiquement, mais ça ne passe pas.
 
Le deuxieme souci vient du prefix. Si je le laisse tel quel, a la place d'en avoir un seul.. j'ai une chaine de prefix qui se cumulent.
 
sachant que mes photos sont renommer comme suit:
2007-11-20@19.33.07.jpg
elle devient apres passage dans PhotoResize!t!OHM (si t=200)
2007-11-20@19.33.07-200.jpg
et apres le passage du prefix (si pref=hg)
hg-hg-hg-hg-hg-2007-11-20@19.33.07.jpg
 
 
voila mon dileme, si quelqu'un a une idee ?  
ps: le code est bizarre, parce que j'ai recuperer des bouts un peut partout avant d'arriver a ça.
 
merci a celui qui pourra m'aider.

Message cité 1 fois
Message édité par dindae le 20-05-2008 à 18:37:43
mood
Publicité
Posté le 18-05-2008 à 14:56:33  profilanswer
 

n°1734740
dindae
Posté le 20-05-2008 à 18:35:44  profilanswer
 

dindae a écrit :


 
cd "Redim_!t!"
 
for %%i in (*.jpg) do set VrChm=%%i& set VrFch=%%~nxi& call :suite
:suite
set VrFch=%VrFch:-200=%
echo "%VrChm%" "%VrFch%"
ren "%VrChm%" "%VrFch%"
 
cls
 
echo "Quel Prefix pour la photo ?"
set /P pref=Prefix:
for %%x in (*.jpg) do ren "%%~nxx" "!pref!%%~nxx"
 
.


 
Bon j'ai un peu modifier le tout et maintenant ça passe.
Voila la partie modifier si cela interresse quelqu'un:
grep, ls et sed peuvent etre trouvé la:http://sourceforge.net/projects/unxutils
 
 
cd "Redim_!t!"  
 
for /F %%i in ('dir /A:-D /B') do (echo %%i) | for /F %%j in ('findstr /r ".jpg"') do echo %%j| for /F %%k in ('sed "s/-[^-]*\.jpg/\.jpg/"') do ren %%j %%k  
 
 
echo off
REM --------------------------------------------------------
REM sans grep et ls:
REM
REM @echo off
REM for /F %%i in ('dir /A:-D /B') do (echo %%i) | for /F %%j in ('findstr /r ".jpg"') do echo %%j| for /F %%k in ('sed "s/-[^-]*\.jpg/\.jpg/"') do ren %%j %%k  
REM  
REM ---------------------------------------------------------
REM avec grep et ls
REM  
REM @echo off
REM for /F %%i in ('ls') do (echo %%i) | for /F %%j in ('grep "jpg"') do echo %%j| for /F %%k in ('sed "s/-[^-]*\.jpg/\.jpg/"') do ren %%j %%k  
REM
REM ---------------------------------------------------------
 
 
echo "Quel Prefix pour la photo ?"
set /P pref=Prefix:
for /f "tokens=*" %%A in ('dir /b "*.jpg"') do (ren "%%A" "!pref!%%A" )
 
exit


Message édité par dindae le 20-05-2008 à 18:41:47

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU]

 

Sujets relatifs
[résolu]Pb avec LoadMovie:fonctionne ou pas selon l'anim à chargerComment lire les X derniers caracteres d'un fichier à distance?
Ma fonction doit-elle retourner un pointeur de fichier ou un entier ?[VB / EXCEL] Lecture d'un fichier texte en partant de la fin ?
[Résolu]Récupérer une valeur dans une bddBatch Linux, trouver un fichier, se déplacer dans le répertoire et exe
lecture d'un fichier wav en C[Résolu]Regex inférieure à 100
Moyenne automatique suite à un tri [RESOLU] 
Plus de sujets relatifs à : sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU]


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR