Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- setlocal
- chcp 65001
- if exist "%~dp0\_BatRenamedAlbums\" rd /s /q "%~dp0\_BatRenamedAlbums"
- md "%~dp0\_BatRenamedAlbums"
- type nul>"%~dp0zzz_toCopyCommands.bat"
- >"%~dp0zzz_dirOut-mp3.txt" dir "*.mp3" /s /a:-d /b
- >"%~dp0zzz_dirOut-jpg.txt" dir "*.jpg" /s /a:-d /o:n /b
- 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"
- >nul findstr /virc:"^$" "%~dp0zzz_albumNameHelper.txt" || (
- echo couldn't generate album names
- goto:skipCopyProcess
- )
- for /f "usebackq tokens=1* delims=/" %%a in ("%~dp0zzz_albumNameHelper.txt") do (
- echo %%a
- md "%~dp0\_BatRenamedAlbums\%%a"
- call jrepl "\c.*\\%%b\ cd[0-9]+\\[\c\\]+\.[\c\\]+$" "" /MATCH /XSEQ /I /F "%!!|%~dp0zzz_dirOut-mp3_temp.txt|utf-8"
- call jrepl "\c.*\\%%b\ cd[0-9]+\\[\c\\]+\.[\c\\]+$" "" /MATCH /XSEQ /I /F "%!!|%~dp0zzz_dirOut-jpg_temp.txt|utf-8"
- 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"
- sort "%~dp0zzz_dirOut-mp3_temp.txt" /O "%~dp0zzz_dirOut-mp3_temp.txt"
- call jrepl "\c[0-9]+\ (.+)$" "$1" /XSEQ /F "%~dp0zzz_dirOut-mp3_temp.txt|utf-8" /O "-|utf-8"
- 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"
- 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"
- START /WAIT /B CMD /Q /C "%~dp0zzz_toCopyCommands.bat"
- )
- :skipCopyProcess
- echo press any key to exit
- >nul pause
- endlocal
- exit /b
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement