Renommer répertoires avec le nom du dossier supérie

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Marco24
Batcheur occasionnel
Messages : 1
Enregistré le : 05 juin 2014 15:24

Renommer répertoires avec le nom du dossier supérie

Message par Marco24 »

Bonjour, ;)
nouveau venu, je débute tout juste dans le domaine et je m'attaque à un truc peu évident !

J'ai un répertoire "Musique"; comprenant une arborescence par style ("Rock", "Pop", etc ...), avec à l'intérieur de chaque répertoire "style", X "artistes", comprenant X "albums".

J'ai donc :
C:/Users/Marc/Musique/01 - Rock
C:/Users/Marc/Musique/01 - Rock/ACDC
C:/Users/Marc/Musique/01 - Rock/ACDC/Back in black
C:/Users/Marc/Musique/01 - Rock/ACDC/Highway to hell
C:/Users/Marc/Musique/01 - Rock/Aerosmith
C:/Users/Marc/Musique/01 - Rock/Aerosmith/Dream on
C:/Users/Marc/Musique/01 - Rock/Aerosmith/Pump
C:/Users/Marc/Musique/02 - Pop
C:/Users/Marc/Musique/02 - Pop/Michael Jackson
C:/Users/Marc/Musique/02 - Pop/Michael Jackson/Bad
C:/Users/Marc/Musique/02 - Pop/Michael Jackson/Thriller
C:/Users/Marc/Musique/03 - Soul
C:/Users/Marc/Musique/03 - Soul/Amy Wnehouse
C:/Users/Marc/Musique/03 - Soul/Amy Wnehouse/Frank
C:/Users/Marc/Musique/03 - Soul/Amy Wnehouse/Back to black
etc ..

mon soucis c'est que je voudrais renommer chaque sous-répertoire "album" en insérant le nom de l'artiste au début de chacun
déjà j'imagine que ce n'est pas possible de faire ça pour toute l'arborescence et qu'il me faudra me situer au niveau du répertoire de l'artiste ?

Soit l'algorithme :
je me positionne dans C:/Users/Marc/Musique/"style"/"artiste", pour chaque répertoire présent dans ce répertoire, insérer au début, le nom du répertoire parent.

je me prends la tête avec ren, move, etc ... mais j'ai trop peu de notions pour pouvoir pondre ce batch ... si une âme charitable veut bien m'aider ... ;)

par avance, merci bcp.
LNOW
Batcheur débutant
Messages : 17
Enregistré le : 20 déc. 2014 12:28

Re: Renommer répertoires avec le nom du dossier supérie

Message par LNOW »

Hello,

Hum... Je crois qu'on peut faire cela en 1 ligne :geek:

Tu as des dossiers comme cela - il faut que tu te places au niveau de l'arborescence "genre" pour qu'un DIR /S /AD /B te donne cela:
  • 01 - Rock
    02 - Pop
    03 - Soul
    01 - Rock\ACDC
    01 - Rock\Aerosmith
    01 - Rock\ACDC\Back in black
    01 - Rock\ACDC\Highway to hell
    01 - Rock\Aerosmith\Dream on
    01 - Rock\Aerosmith\Pump
    02 - Pop\Michael Jackson
    02 - Pop\Michael Jackson\Bad
    02 - Pop\Michael Jackson\Thriller
    03 - Soul\Amy Wnehouse
    03 - Soul\Amy Wnehouse\Back to black
    03 - Soul\Amy Wnehouse\Frank
Tu tapes cette ligne de commande (ou copies / colles, mais là c'est trop facile ^^ )
for /D %a in (*) do @for /D %b in ("%a\*") do @for /d %c in ("%b\*") do @echo REN "%c" "%~nxb-%~nxc" & REN "%c" "%~nxb-%~nxc"

Il t'affiche donc
  • REN "01 - Rock\ACDC\Back in black" "ACDC-Back in black"
    REN "01 - Rock\ACDC\Highway to hell" "ACDC-Highway to hell"
    REN "01 - Rock\Aerosmith\Dream on" "Aerosmith-Dream on"
    REN "01 - Rock\Aerosmith\Pump" "Aerosmith-Pump"
    REN "02 - Pop\Michael Jackson\Bad" "Michael Jackson-Bad"
    REN "02 - Pop\Michael Jackson\Thriller" "Michael Jackson-Thriller"
    REN "03 - Soul\Amy Wnehouse\Back to black" "Amy Wnehouse-Back to black"
    REN "03 - Soul\Amy Wnehouse\Frank" "Amy Wnehouse-Frank"
Et ton arborescence de dossiers avec nom d'album est renommé et contient le nom de l'artiste en début de nom de dossier
  • 01 - Rock
    02 - Pop
    03 - Soul
    01 - Rock\ACDC
    01 - Rock\Aerosmith
    01 - Rock\ACDC\ACDC-Back in black
    01 - Rock\ACDC\ACDC-Highway to hell
    01 - Rock\Aerosmith\Aerosmith-Dream on
    01 - Rock\Aerosmith\Aerosmith-Pump
    02 - Pop\Michael Jackson
    02 - Pop\Michael Jackson\Michael Jackson-Bad
    02 - Pop\Michael Jackson\Michael Jackson-Thriller
    03 - Soul\Amy Wnehouse
    03 - Soul\Amy Wnehouse\Amy Wnehouse-Back to black
    03 - Soul\Amy Wnehouse\Amy Wnehouse-Frank
Enjoy
Répondre