Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @ECHO OFF
- :: bin\ffmpeg.exe
- :: bin\mkvmerge.exe
- setlocal ENABLEDELAYEDEXPANSION
- CD /D "%~dp0"
- :LOOP
- IF [%1]==[] GOTO EOF
- SET "FStrm="
- FOR /F "tokens=2,3 delims=#:(" %%F IN ('bin\ffmpeg -i "%~1" 2^>^&1 ^| FIND "Stream" ^| FIND "Audio" ^| FIND "dts"') DO (
- SET FStrm=%%G
- SET /A AStrm=!FStrm!-1
- SET "AST=DTS Stream %%F:%%G"
- )
- IF [%FStrm%]==[] (
- ECHO NO DTS Stream "%~n1"
- GOTO JUMP
- )
- SET "nameA=%~n1"
- SET "nameB=%nameA: =.%"
- SET "nameC=%nameB:DTS.=%"
- SET "nameD=%nameC:x264=x264.AC3%"
- SET "nameF=%nameD%%~x1"
- SET "dirA=%~dp1"
- SET "dirF=%dirA:~0,-1%"
- SET Bsz=%~z1
- SET /A MBsz=%Bsz:~0,-3%/1048
- SET /A GBsz=(%MBsz%/1024)+1
- SET CTRL=
- FOR /F "tokens=1,2" %%A IN ('WMIC logicaldisk where DriveType^="3" get Caption^, FreeSpace ^| SORT /R ^| FIND /V "%~d1" ^| FIND /V "Caption"') DO (
- SET Tdrive=%%A
- SET Bsp=%%B
- IF [%CTRL%]==[] GOTO NEXT
- )
- FOR /F "skip=1" %%G IN ('WMIC logicaldisk where Caption^="%~d1" get FreeSpace') DO SET Bsp=%%B
- SET Tdrive=%~d1
- :NEXT
- SET /A MBsp=%Bsp:~0,-3%/1048
- SET /A GBsp=%MBsp%/1024
- IF %GBsp% GTR %GBsz% (
- SET CTRL=OK
- ) ELSE (
- ECHO NO FREE SPACE
- GOTO JUMP
- )
- ECHO %AST% Tdrive: %Tdrive% FreeSP: %GBsp%GB Fsize: %GBsz%GB
- ECHO OUTdir: %dirF% OUTname: %nameF% & ECHO(
- TIMEOUT 4 >NUL
- SET "FFtmp=%Tdrive%\FF-%nameF%%~x1"
- bin\ffmpeg -hide_banner -i "%~1" -flags +global_header -map 0 -c copy -c:a:%AStrm% ac3 -b:a 640k "%FFtmp%" && (
- bin\mkvmerge -o "%dirF%\%nameF%" --track-name 0: --compression 0:none --track-name 1: --compression 1:none -M -T --no-global-tags "%FFtmp%" --title "" && DEL /F "%FFtmp%"
- ECHO( & ECHO( & ECHO(
- )
- :JUMP
- SHIFT
- GOTO LOOP
- :EOF
- ECHO ALL DONE
- TIMEOUT 10 >NUL
Advertisement
Add Comment
Please, Sign In to add comment