Couper une chaine de caractère

Couper une chaine de caractère - Shell/Batch - Programmation

Marsh Posté le 20-07-2006 à 16:01:31    

voila j'ai un fichier avec une chaine de longueur variable, et j'ai juste besoin de changer son extension.
de balbalablabalbal.mpg en balbalablabalba.wmv
 
C'est koi la syntaxe pour le faire ?
Ma variable contenant la chaine s'appelle %%a
 
set nouvellechaine=substr(%%a,-3)   ?  :whistle:  :p  
 
Merci

Reply

Marsh Posté le 20-07-2006 à 16:01:31   

Reply

Marsh Posté le 20-07-2006 à 16:06:14    

Code :
  1. set VAR=%%a
  2. set VAR=%VAR:~x,y%


 
set /?
pour plus d'info.
 
Par contre, puisque c'est dans une boucle for que ça se passe, consulte également ce topic :
http://forum.hardware.fr/hardwaref [...] 2792-1.htm

Reply

Marsh Posté le 20-07-2006 à 16:19:10    

merci je test ;) !

Reply

Marsh Posté le 20-07-2006 à 16:28:44    

wackevat a écrit :

Code :
  1. set VAR=%%a
  2. set VAR=%VAR:~x,y%


 
set /?
pour plus d'info.
 
Par contre, puisque c'est dans une boucle for que ça se passe, consulte également ce topic :
http://forum.hardware.fr/hardwaref [...] 2792-1.htm


 
j'ai ca :
 

Code :
  1. for /f "delims=" %%b in ('dir "%PathAudio=%" /b') do (
  2.      for /f "delims=" %%a in ('dir "%PathAudio=%%%b" /b') do (
  3.     call :rename "%%a"
  4.     REM - cscript.exe %WMVCodecPath% -input "%PathAudio%%%a" -output "%WMVDONE%%VAR%wmv" -loadprofile %PROFILE43%
  5.     PAUSE
  6.     )
  7. )
  8. :rename
  9. set VAR=%~1
  10. set VAR=%VAR:~0,-3%
  11. goto :eof
  12. :next


 
J'ai ca a l'ecran
 
Z:\>(
call :rename "MNL-00458-MPEG2-8.mpg"
 REM - cscript.exe "C:\Program Files\Windows Media Components\Encoder\wmcmd.vbs"
 -input "Z:\4-3\MNL-00458-MPEG2-8.mpg" -output "Z:\4-3\
wmv" -loadprofile "Z:\profile_4-3.prx"
 PAUSE
)
 
Z:\>set VAR=MNL-00458-MPEG2-8.mpg
 
Z:\>set VAR=MNL-00458-MPEG2-8.
 
Z:\>goto :eof
Appuyez sur une touche pour continuer...
 
 
Je ne sais pas comment réutiliser la variable VAR dans ma boucle...


Message édité par doobitchoo le 20-07-2006 à 16:29:38
Reply

Marsh Posté le 20-07-2006 à 16:31:34    

Hop j'ai capté !
 
suffisait de refaire un goto dans le script en dessous  

Code :
  1. call :rename "%%a"
  2.  :reprise


 

Code :
  1. :rename
  2. set VAR=%~1
  3. set VAR=%VAR:~0,-3%
  4. goto :reprise

Reply

Marsh Posté le 20-07-2006 à 17:10:25    

Aussi :D
 
Mais il ne suffit pas de placer ta commande
cscript.exe %WMVCodecPath%....
juste après l'extraction de la chaîne ? ;)

Reply

Marsh Posté le 24-07-2006 à 16:27:04    

Je commence a toucher en batch, d'encodage !
Jme suis fait un petit rename a ma sauce, et un deplacement de fichier a la volé une fois que c'est terminé !
 
Avec biensur un encodage désentrelacé et tout le bazare :D

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed