sup des caracteres et rajouter un prefix dans nom de fichier [RESOLU] - Shell/Batch - Programmation
Marsh Posté le 20-05-2008 à 18:35:44
dindae a écrit : |
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
Marsh Posté le 18-05-2008 à 14:56:33
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 édité par dindae le 20-05-2008 à 18:37:43