Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Contributor


Сообщения: 2728
Благодарности: 1697

Профиль | Отправить PM | Цитировать


Я тупо переписал Ваш код, так как у меня нет Ваших программ, поэтому серьёзно не тестировалось
Код: Выделить весь код
@Echo Off
cls

Set "ext=avi"
Set "bit_rate=133K"
Set "dir_vid_scr=Z:\Users\yura\Downloads\Video"

Set /A Nbeg=0
For /F "usebackq delims=:" %%i In (`"FINDSTR /B /L /I /N /C:":FilesSpisok" "%~dpnx0""`) DO Set /A Nbeg=%%i
If %Nbeg% EQU 0 Echo !!! No file list found &Pause &Exit /B 240

If Not Exist "%dir_vid_scr%" Echo !!! No folder found "%dir_vid_scr%" &Pause &Exit /B 240

Pushd "%dir_vid_scr%"

For /F "usebackq tokens=*" %%i In (`"more +%Nbeg% "%~dpnx0""`) DO (
	If /I "%%i"=="GoTo :Eof" GoTo :Cont
	If Exist "%%i.%ext%" (
		Call :Recompress "%%i.%ext%"
	) else (
		Echo: &Echo !!! File "%dir_vid_scr%\%%i.%ext%" NOT EXISTS! 
		Echo ----------------------------------------------------------------
	)
)
:Cont
Popd

Echo PLEASE GOOD BYE!
Pause
GoTo :Eof

:Recompress
	Echo: &Echo +++ Processing file %1 in folder "%dir_vid_scr%"

	ffmpeg -loglevel error -i %1 -c:v libx264 -c:a copy -b:v %bit_rate% -maxrate %bit_rate% -bufsize %bit_rate% "%~n1_rcm%~x1"

	Echo *** Checking video duration for %1
	
	For /f %%i in ('"ffprobe.exe -v error -show_entries format=duration %1 -of default=noprint_wrappers=1:nokey=1"') Do Set "dur_orig_file=%%i"
	For /f %%i in ('"ffprobe.exe -v error -show_entries format=duration "%~n1_rcm%~x1" -of default=noprint_wrappers=1:nokey=1"') Do Set "dur_rcm_file=%%i"

	Echo *** original file duration:     %dur_orig_file% sec.
	Echo *** recompressed file duration: %dur_rcm_file% sec.
	
	If "%dur_orig_file%"=="%dur_rcm_file%" ( 
		Echo +++ GREAT. files have same duration. Will remove original video %1
		Del %1 &&Echo *** removed ok.
	)
	Echo ----------------------------------------------------------------

GoTo :Eof

:FilesSpisok

video1
video2
video3
video4
video5
video6

GoTo :Eof
Укажите свой путь и свой список файлов
Мне не очень нравится идея указывать список файлов - это трудоёмко. Быть может нужно обработать все файлы по маске в указанной папке?
Имена video1 ... video40 условные или реальные?

-------
Даже самая сложная проблема обязательно имеет простое, лёгкое для понимания, неправильное решение. Каждое решение плодит новые проблемы.


Последний раз редактировалось megaloman, 29-01-2018 в 18:45.

Это сообщение посчитали полезным следующие участники:

Отправлено: 17:37, 29-01-2018 | #2