Somewhat improved script. Does a better job of getting the MP4 filename correctly.
Code:
@echo off
setlocal enableextensions enabledelayedexpansion
set d=%date:~-4,4%%date:~-7,2%
set d=%d: =_%
set t=%time:~0,2%%time:~3,2%%time:~6,2%
set t=%t: =0%
SET TEMPFILE=%d%_%t%
paste>%TEMPFILE%.tmp
set /p firstline=<%TEMPFILE%.tmp
for /f "tokens=1 delims=?;&~ " %%a in ("!firstline!") do (set TITLE=%%a)
:: To delete everything after the string '.mp4'
:: first get '.mp4' and everything before it
SET _endbit=%TITLE:*.mp4=%
:: Echo We dont want: [%_endbit%]
::Now remove this from the original string
CALL SET _result=%%TITLE:%_endbit%=%%
:: echo %_result%
SET TITLE=%_result%
for /f "tokens=1 delims=" %%a in ("!TITLE!") do (SET TITLE=%%~nxa)
for /f "tokens=1-5 delims=-_" %%b in ("!TITLE!") do (SET MP4TITLE=%%b_%%c_%%d_%%e_%%f)
SET /A COUNT=0
for /f "tokens=*" %%a in (%TEMPFILE%.tmp) do (SET /A COUNT+=1
hdsdump -m "%%a" -o %MP4TITLE%.!COUNT!.flv
echo file %MP4TITLE%.!COUNT!.flv>>Filelist.%TEMPFILE%.tmp
)
del %TEMPFILE%.tmp
echo "%MP4TITLE%"
echo "Download Complete. Files will now be joined"
Pause
ffmpeg -f concat -i Filelist.%TEMPFILE%.tmp -c copy -copyts %MP4TITLE%.mp4
del Filelist.%TEMPFILE%.tmp
echo "All finished. Temp FLV files will now be deleted"
pause
del %MP4TITLE%*.flv
timeout /T 3