Rename (DOS) - supprimer une part des noms
Souffre
-
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
dubcek Messages postés 18627 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'aimerais savoir comment renommer plusieurs fichiers d'un coup en gardant uniquement la partie du nom qui m'interesse.
En pratique :
J'ai une série TV avec plusieurs épisodes du type nomdeserie.blabla.S01E01.avi
En gros, j'aimerais passer de
- nomdeserie.blabla.S01E01.avi
- nomdeserie.blabla.S01E02.avi
- nomdeserie.blabla.S01E03.avi
- nomdeserie.blabla.S01E04.avi
à
- S01E01.avi
- S01E02.avi
- S01E03.avi
- S01E04.avi
J'ai essayé : ren C:\videos\*S??E??.avi S??E??.avi
Mais les résultats foirent car la chaine de caractères prise avec le * apparaît dans les ?
J'espère que je m'explique de façon compréhensible...
En tout cas, je vous serais très reconnaissant si vous aviez une solution.
Merci !
J'aimerais savoir comment renommer plusieurs fichiers d'un coup en gardant uniquement la partie du nom qui m'interesse.
En pratique :
J'ai une série TV avec plusieurs épisodes du type nomdeserie.blabla.S01E01.avi
En gros, j'aimerais passer de
- nomdeserie.blabla.S01E01.avi
- nomdeserie.blabla.S01E02.avi
- nomdeserie.blabla.S01E03.avi
- nomdeserie.blabla.S01E04.avi
à
- S01E01.avi
- S01E02.avi
- S01E03.avi
- S01E04.avi
J'ai essayé : ren C:\videos\*S??E??.avi S??E??.avi
Mais les résultats foirent car la chaine de caractères prise avec le * apparaît dans les ?
J'espère que je m'explique de façon compréhensible...
En tout cas, je vous serais très reconnaissant si vous aviez une solution.
Merci !
3 réponses
-
hello
enlever le echo pour effectuer le rename@echo off for /f "delims=. tokens=1,2,3,4" %%a in ('dir /b *S*.avi') do ( echo rename "%%a.%%b.%%c.%%d" "- %%c.%%d" ) -
Super !
Enfin, avec echo ça s'affiche comme je le voudrais mais dès que j'enlève l'echo j'ai un message d'erreur comme quoi les fichiers sont introuvables...
Si c'est possible, pourrais-je avoir l'explication du fonctionnement de la commande ?
Merci encore !
Edit : en fait, au format que je donne ca fonctionne nickel mais à vrai dire c'est plutot une forme de blablaS01E01blabla.avi-
J'ai compris le fonctionnement après recherches et tests... En fait, l'idéal serait de pouvoir délimiter avec "S0" => %%a = blabla %%b = 1E01blabla.avi mais c'est impossible. On ne peut délimiter qu'avec 1 caractère mais pas avec une chaîne de caractères. J'en mourrais pas mais c'est dommage ^^
Merci vraiment pour l'aide ! -
-
-
-
et comme ça, si il n'y a pas d'autres S dans les blabla
C:> dir /b - nomdeserie.blabla.S01E01blabla.avi - nomdeserie.blabla.S01E02blabla.avi - nomdeserie.blabla.S01E03blabla.avi - nomdeserie.blabla.S01E04blabla.avi C:> ..\aa rename "- nomdeserie.blabla.S01E01blabla.avi" "- S01E01.avi" rename "- nomdeserie.blabla.S01E02blabla.avi" "- S01E02.avi" rename "- nomdeserie.blabla.S01E03blabla.avi" "- S01E03.avi" rename "- nomdeserie.blabla.S01E04blabla.avi" "- S01E04.avi" C:> type ..\aa.bat @echo off setlocal enableDelayedExpansion for /f "delims=S tokens=1,2" %%a in ('dir /b *S*.avi') do ( set x=%%b set x=!x:~0,5! echo rename "%%aS%%b" "- S!x!.avi" ) C:>