::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::set vers=7.9.6.53 ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: REM onERR echo playlist_backups.bat & pause REM set vers=v7.9.9.02 20221219053521 by -JpE- echo %l2% echo . echo %sl% echo **** Playlist Backup Ultra Pro Deluxe **** echo *** %vers% *** echo %sl% echo . echo %l1% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: set /A bak=0 :: set to 1 to clear Docs copy, 2 to clear I: and recopy, 3 to clear X: and 4 to skip entirely. set /a err=0 set source3="M:\Playlists" if not exist %source3% set /a err=1 if %err% equ 1 goto errwas set dox=C:\Users\%username%\Documents if not exist %dox% set /a err=2 if %err% equ 2 goto errwas set destin3="%dox%\My Playlists Backup" if not exist %destin3% set /a err=2 & goto errwas echo %time% echo . echo %sl% echo *** Backing up Playlists Locally *** echo %sl% echo . if %bak% gtr 0 del /f /s /q %destin3%"\"*.* xcopy %source3%"\"*.* %destin3% /D /E /V /C /F /G /R /K /Y /Z /B /J echo . if %errorlevel% neq 0 set /a err=3 if %bak% gtr 3 goto finish if %errorlevel% neq 0 goto xtrnl1 echo %sl% echo *** Success, Playlists backed up Locally *** echo %sl% echo . echo %l1% ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: :xtrnl1 set /a rt=1 set dir=I: set mtxt= Backup1 set dest="%dir%\My Music\Playlists" if not exist %dir% set /a err=4 & goto errwas if not exist %dest% set /a err=4 & goto errwas :::::::::: call :copyx :::::::::: if %errorlevel% neq 0 set /a err=5 & goto errwas :xtrnl2 set /a rt=2 set dir=X: set mtxt=Seagate7 set dest="%dir%\My Mom's Music\My PlayLists" if not exist %dir% set /a err=6 & goto errwas if not exist %dest% set /a err=6 & goto errwas :::::::::: call :copyx :::::::::: if %errorlevel% neq 0 set /a err=7 & goto errwas echo . ::: Why R not U:\? Well, it's already backed up in the ::: doc fldr, so everywhere that's backed, these are. :xtrnl3 set /a rt=3 set dir=R: set mtxt=Mid Earth set dest="%dir%\My Mom's Music\My_Playlists_Cover_All" if not exist %dir% set /a err=8 & goto errwas if not exist %dest% set /a err=8 & goto errwas ::: Special Consideration for Catch-All set /a bck=%bak% set /a bak=0 ::::::::::: call :copyx set /a bak=%bck% if %errorlevel% neq 0 set /a err=9 & goto errwas echo . ::::::::::: goto finish :copyx < sourceString, destinationString> echo %time% echo . echo %sl% echo *** Backing up Playlists to %mtxt% (%dir%) *** echo %sl% echo . if %bak% gtr 2 del /f /s /q %dest%"\"*.* xcopy %destin3%"\"*.* %dest% /D /E /V /C /F /G /R /K /Y /Z /B /J if %errorlevel% neq 0 goto end echo . echo %sl% echo *** Success, Playlists backed up to (%dir%) *** echo %sl% echo . echo %l1% :end exit /b %errorlevel% :finish if %err% equ 0 goto success :errwas set eros="%bats%\playlist_errors.bat" if not exist %eros% echo . & echo %eros% not found! & echo . & pause & echo . & goto return :::::::::::::: call %eros% :::::::::::::: if %err% equ 2 goto return ::: bak 4 means Finish Simple-Backup Early. IF err!=3 Success! if %bak% equ 4 if %err% gtr 4 goto success :: if %err% equ 1 set /a err=0 & goto xtrnl1 if %err% equ 3 set /a err=0 & goto xtrnl1 :: if %rt% gtr 0 set /a err=0 if %rt% equ 1 goto xtrnl2 if %rt% equ 2 goto xtrnl3 if %rt% equ 3 goto finish :: if %err% equ 9 goto return if %err% equ 7 goto return if %err% equ 5 goto return :success echo . echo %sl% echo **** Success! Everything Went Well. **** echo %sl% echo . :return ::pause :: 100% -JpE-