Renommer des chansons [Résolu]

A voir également:Renommer des chansonsIpod renommer les chansons ✓ - Forum - IPod Retrouver une chanson grace au clip - Forum - Musique / Radio / Clip Chanson coupe du monde 1998 ✓ - Forum - Musique / Radio / Clip Parole de chanson - Télécharger - Loisirs - Vie pratique Trouver une chanson - Conseils pratiques - Audio

Bonjour à tous & toutes

J'ai retrouvé des dossiers de chansons.
Elles sont classées par artistes.
Dans le nom des chansons, il y a bien le titre mais pas l'artiste.

J'essaye de faire en sorte que les chansons soient nommées comme ceci:
artiste : titre

J'ai déjà fait un script en .bat qui ajoute le nom de l'artiste mais je suis obligée de la mettre en dur dans le script

exemple

@echo off setlocal enabledelayedexpansion  chcp 1252 for /r "C:\Users\Delphine\Music\Anglais\U2" %%a in (*.mp3) do ( set "file=U2 - %%~nxa" move /y "%%~a" "%%~dpa!file!" ) pause


Je n'arrive pas à trouver comment récupérer la variable du dossier.

Si vous avez des pistes à me donner, ça serait sympa
Je vous remercie d'avance d l'aide que vous m'apporteraz

Forum

A voir également:Renommer des chansonsIpod renommer les chansons ✓ - Forum - IPod Retrouver une chanson grace au clip - Forum - Musique / Radio / Clip Chanson coupe du monde 1998 ✓ - Forum - Musique / Radio / Clip Parole de chanson - Télécharger - Loisirs - Vie pratique Trouver une chanson - Conseils pratiques - Audio

Web: www.shapebootstrap.net

2 réponses

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Voilà le script complet :
@echo off
Setlocal EnableExtensions EnableDelayedExpansion
chcp 28591 >nul

set cible=%USERPROFILE%\Music

cd /d %cible% || exit /b 1

for /f "delims=" %%A in ('2^>nul dir /b /s /a-d') do (

echo. & call :fonction "%%~pA"
ren "%%~A" "!artiste! - %%~nxA" >nul && echo ### %%~nxA ==^>^> !artiste! - %%~nxA

)

pause
exit /b 0


:fonction

set "chemin=%~1"

for /L %%E in (2,1,255) do (

set "dossier=!chemin:~-%%E!"
if "!dossier:~0,1!"=="\" (set "artiste=!dossier:\=!" & goto :eof)

)

goto :eof

Tu n'as rien à modifier, juste à copier-coller.
Tu peux changer la variable cible si tu veux traiter un autre dossier.


“L'intelligence artificielle se définit comme le contraire de la bêtise naturelle.”

Dire « Merci » 1

Heureux de vous avoir aidé ! Vous nous appréciez ? Donnez votre avis sur nous ! Evaluez CommentCaMarche

CCM 70149 internautes nous ont dit merci ce mois-ci

Reply
réponses:
  • auteur

  • auteur

Marsh

NOVEMBER 9, 2013 AT 9:15 PM

Bonjour,

Voilà une partie de la solution :

@echo off
Setlocal EnableExtensions EnableDelayedExpansion

set cible=%USERPROFILE%\Music

cd /d %cible%

for /f "delims=" %%A in ('dir /b /s /a-d "*.mp3"') do (

call :fonction "%%~pA"
echo %%~nxA ### !artiste! #

)

pause
exit


:fonction

set chemin=%~1

for /L %%E in (2,1,255) do (

set dossier=!chemin:~-%%E!
set delimiteur=!dossier:~0,1!
if "!delimiteur!"=="\" (
set artiste=!dossier:~1!
set artiste=!artiste:\=!
goto :eof
)

)

goto :eof


Le script liste tous les fichiers dans tous les sous-dossiers, et la fonction récupère le nom du dossier parent de chaque fichier.

Tu n'as plus qu'à rajouter une ligne pour renommer le fichier à ta guise.

Reply
réponses:
  • auteur

  • auteur

Leave a Replay

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