Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- SetLocal EnableDelayedExpansion
- title %~n0
- if "%~1"=="" ( echo ERROR: NO INPUT & echo & pause & goto :eof ) else (
- if NOT "%cd%\"=="%~dp1" cd /d "%~dp1"
- )
- :: path to ffmpeg
- set "ffmpeg=C:\ffmpeg\bin\ffmpeg.exe"
- :: default output subfolder. change to "subfolder=" to disable
- set "subfolder=mkv"
- :: extension
- set "ext=mkv"
- :EnterPath
- set p=
- echo.
- set /p p="output path (default %subfolder%) "
- for %%F in ("!p!") do (
- set "outfolder=%%~dpnF"
- set openfolder = true
- goto :ConformPath
- )
- :ConformPath
- if "!outfolder!"=="" (
- for %%A in (%subfolder%) do (
- set "outfolder=%subfolder%\"
- goto :Checkoutfolder
- )
- ) else (
- if not "!outfolder:~-1!"=="\" (
- if "!outfolder:~-1!"=="/" set "outfolder=!outfolder:~0,-1!"
- set "outfolder=!outfolder!\"
- )
- )
- :Checkoutfolder
- if not "!outfolder!"=="" ( if not exist "!outfolder!" mkdir "!outfolder!")
- :CountFiles
- for %%F in (%*) do ( if "!total!"=="" ( set total=1) else ( set /a total=!total!+1))
- :ProcessFiles
- for %%F in (%*) do (
- set filters=
- if "!current!"=="" ( set current=1) else ( set /a current=!current!+1)
- title %~n0^: ^> !current!/!total! "%%~nxF"
- echo. & echo ^> !current!/!total! "%%~F" "%%~nF.%ext%"
- set "postfix="
- if exist "!outfolder!\%%~nF.%ext%" CALL :Addpostfix "!outfolder!\%%~nF.%ext%"
- :ffmpeg
- "%ffmpeg%" -i "%%~F" -c copy "!outfolder!%%~nF!postfix!.%ext%"
- )
- title %~n0^: ^> COMPLETED
- if defined openfolder explorer "!outfolder!"
- timeout /t 10
- goto :eof
- :Addpostfix
- :: add numeric postfix to files if already exist
- for /L %%N in (1,1,1000) do ( if not exist "%~dpn1_%%N%~x1" ( set "postfix=_%%N" & goto :eof ))
- goto :eof
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement