Advertisement
Guest User

renameAlbums8

a guest
Oct 26th, 2023
28
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.74 KB | None | 0 0
  1. @echo off
  2. setlocal
  3. chcp 65001
  4. if exist "%~dp0\_BatRenamedAlbums\" rd /s /q "%~dp0\_BatRenamedAlbums"
  5. md "%~dp0\_BatRenamedAlbums"
  6. type nul>"%~dp0zzz_toCopyCommands.bat"
  7. >"%~dp0zzz_dirOut-mp3.txt" dir "*.mp3" /s /a:-d /b
  8. >"%~dp0zzz_dirOut-jpg.txt" dir "*.jpg" /s /a:-d /o:n /b
  9. call jrepl "\c.*\\(.+)\ cd[0-9]+\\[\c\\]+\.[\c\\]+$" "hitLine=0;euc=encodeURIComponent($1);if(!uniqSort[euc]){$txt=$1+'\/'+$1.replace(/(\W)/g,'\\$1').replace(pr,pv).replace(cr,cv);hitLine=1;uniqSort[euc]=1}" /JQ /JBEG "hitLine=0;po='\\\\\\'+decode('\\x25','output');pr=new RegExp(po,'g');pv='\\x25';co='\\\\\\'+decode('\\x5e','output');cr=new RegExp(co,'g');cv='\\x5e';uniqSort=new Array()" /JENDLN "if(hitLine==0)$txt=false;" /XSEQ /I /F "%!!|%~dp0zzz_albumNameHelper.txt|utf-8|NB"
  10. >nul findstr /virc:"^$" "%~dp0zzz_albumNameHelper.txt" || (
  11. echo couldn't generate album names
  12. goto:skipCopyProcess
  13. )
  14. for /f "usebackq tokens=1* delims=/" %%a in ("%~dp0zzz_albumNameHelper.txt") do (
  15. echo %%a
  16. md "%~dp0\_BatRenamedAlbums\%%a"
  17. call jrepl "\c.*\\%%b\ cd[0-9]+\\[\c\\]+\.[\c\\]+$" "" /MATCH /XSEQ /I /F "%!!|%~dp0zzz_dirOut-mp3_temp.txt|utf-8"
  18. call jrepl "\c.*\\%%b\ cd[0-9]+\\[\c\\]+\.[\c\\]+$" "" /MATCH /XSEQ /I /F "%!!|%~dp0zzz_dirOut-jpg_temp.txt|utf-8"
  19. call jrepl "\c.*\\.+\ cd([0-9]+)\\[\c\\]+\.[\c\\]+$" "$txt=lpad($1,nl,'0')+' '+$src" /JQ /JBEG "nl=Math.floor((Math.log(cnt)/Math.log(10)))+1" /C /XSEQ /I /F "%~dp0zzz_dirOut-mp3_temp.txt|utf-8" /O "-|utf-8"
  20. sort "%~dp0zzz_dirOut-mp3_temp.txt" /O "%~dp0zzz_dirOut-mp3_temp.txt"
  21. call jrepl "\c[0-9]+\ (.+)$" "$1" /XSEQ /F "%~dp0zzz_dirOut-mp3_temp.txt|utf-8" /O "-|utf-8"
  22. call jrepl "\c.*\\(.+)\ cd[0-9]+\\([\c\\]+\.[\c\\]+)$" "$txt='copy '+q+$src.replace(pr,pv)+q+' '+q+'.\\_BatRenamedAlbums\\'+$1.replace(pr,pv)+'\\'+lpad(ln,nl,'0')+' - '+$2.replace(/^[0-9]+[\ \-]+/,'').replace(pr,pv)+q" /JQ /JBEG "nl=Math.floor((Math.log(cnt)/Math.log(10)))+1;q=decode('\\q','output');po=decode('\\x25','output');pr=new RegExp(po,'g');pv=po+po" /XSEQ /I /C /F "%!!|%~dp0zzz_toCopyCommands.bat|utf-8"
  23. call jrepl "\c.*\\(.+)\ cd([0-9]+)\\([\c\\]+\.[\c\\]+)$" "$txt='copy '+q+$src.replace(pr,pv)+q+' '+q+'.\\_BatRenamedAlbums\\'+$1.replace(pr,pv)+'\\'+((folderJpgRegex.exec($src)==null || folderJpgCopy++>0)?'CD'+$2+' - ':'')+$3.replace(pr,pv)+q" /JQ /JBEG "q=decode('\\q','output');folderJpgRegex=/\\(((F|f)older)|((C|c)over))\.jpg$/;folderJpgCopy=0;po=decode('\\x25','output');pr=new RegExp(po,'g');pv=po+po" /XSEQ /I /C /F "%!!|%~dp0zzz_toCopyCommands.bat|utf-8"
  24. START /WAIT /B CMD /Q /C "%~dp0zzz_toCopyCommands.bat"
  25. )
  26. :skipCopyProcess
  27. echo press any key to exit
  28. >nul pause
  29. endlocal
  30. exit /b
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement