Liste de musique sur l'ordi

DeeJayLuba Messages postés 4 Statut Membre -  
barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour, voila, j'ai un méga banque de musique sur mon ordi mais precedant chaque trame, il y a le numéro de la trame sonore. Je pourrais , bien sure, les enlever tous individuellement, mais avec plus de 100,000 chansons, je finirai, peut etre, avant ma retraite, hihi
Y a-t-il un truc ou une application pour que ca aille plus vite pour enlever tout ces numéros ??
Merci

2 réponses

  1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    Bonjour,

    Est-ce que tu as un exemple concret avec le nom de la trame et le résultat attendu ?

    0
    1. DeeJayLuba Messages postés 4 Statut Membre
       
      001. David Guetta, Sia - Flames
      0
    2. DeeJayLuba Messages postés 4 Statut Membre
       
      comme je disais, plus de 100,000 chansons a enlever les numeros
      0
      1. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930 > DeeJayLuba Messages postés 4 Statut Membre
         
        Est-ce qu'il y a toujours un espace entre le numéro et le nom ?
        0
    3. DeeJayLuba Messages postés 4 Statut Membre
       
      quelque fois
      0
  2. barnabe0057 Messages postés 14329 Date d'inscription   Statut Contributeur Dernière intervention   4 930
     
    J'ai créé ce script batch pour répondre à ton besoin :

    @echo off
    setlocal enableextensions enabledelayedexpansion
    chcp 1252 >nul

    set extMusiques=*.mp3 *.mid *.flac *.m3u *.wma *.aac *.wav *.ape *.ogg

    :debut

    set "dossier=%USERPROFILE%\Music"
    cls & echo. & echo Quel est le dossier contenant la musique à traiter ?
    echo [dossier par défaut = %USERPROFILE%\Music]
    echo. & set /p dossier="Votre choix : "
    if not exist "%dossier%" (goto :debut)

    set "confirm="
    cls & echo. & echo Le dossier à traiter est : ### %dossier% ###
    set /p confirm="Confirmer ? [O-N] "
    if not defined confirm (exit /b 1)
    if /i "%confirm%"=="O" (cd %dossier%) else (exit /b 1)

    for /r %%A in (%extMusiques%) do (
    set /a pos=traitement=0
    echo %%~nA | findstr /r "^[0-9]" >nul && (call :decalage "%%~nA" "%%~xA")
    if !traitement! EQU 1 (ren "%%~A" "!new!%%~xA")
    )

    echo. & pause
    exit /b 0

    :decalage

    set "nom=%~1#"
    set /a pos+=1
    set "caractere=!nom:~%pos%,1!"

    for /l %%E in (0,1,9) do (if "!caractere!"=="%%E" goto :decalage)
    if "!caractere!"=="." goto :decalage
    if "!caractere!"=="-" goto :decalage
    if "!caractere!"==" " goto :decalage

    set "nouveau=!nom:~%pos%!"
    if "!nouveau!"=="#" (set "new=unnamed") else (set "new=!nouveau:~,-1!")

    set copie=0
    set file=!new!

    :test
    if exist "!new!%~2" (
    set /a copie+=1
    set index=000!copie!
    set index=!index:~-4!
    set "new=!file!_[!index!]"
    goto :test
    )

    echo. & echo %~1%~2 ==^>^> !new!%~2
    set traitement=1

    goto :eof


    Pour t'en servir il suffit de créer un "nouveau document texte" puis de copier-coller mon code à l'intérieur, puis tu enregistres. Ensuite tu renommes le fichier en "barnabe0057.bat"

    0