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

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

Новый участник


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

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


Вложения
Тип файла: log LF.bat.log
(2.3 Kb, 2 просмотров)

Цитата megaloman:
как будет выглядеть код, если допустим исходных папок с файлами несколько »
Я неверное снова что-то сделал не так, но данный варианту меня не работает.

Суть такова:

В папке "d:\uTorrent\work\(WRKD)\LostFilm\" лежит главный файл, а в папке "d:\uTorrent\work\(WRKD)\LostFilm\aud\" дополнительный. В папке же "d:\uTorrent\work\(WRKD)\" должен оказаться итоговый файл после обработки с именем файла как в "d:\uTorrent\work\(WRKD)\LostFilm\"
Скрытый текст
Код: Выделить весь код
@Echo Off
cls
chcp 1251 >nul
	Set "LogBat=%~dpnx0.log"
	>"%LogBat%" Echo    %Date% %Time%

	Call :Process "d:\uTorrent\work\(WRKD)\LostFilm" "d:\uTorrent\work\(WRKD)" "mkv" "mkv"
	Call :Process "d:\uTorrent\work\(WRKD)\LostFilm\aud\" "d:\uTorrent\work\(WRKD)\LostFilm\Temp1" "mkv" "mkv"
	
pause
GoTo :Eof

:Process
	Set "BoxIn=%~1"
	Set "BoxOut=%~2"
	Set "ExtIn=%~3"
	Set "ExtOut=%~4"
	
	If Not Exist "%BoxOut%" Md "%BoxOut%"

	Set /A NNN=11

	FOR /F "usebackq delims=" %%f IN (`2^>nul Dir "%BoxIn%\*.%ExtIn%" /b /a:-d /O:D`) DO (

		>>"%LogBat%" (Echo: &Echo === begin "%BoxIn%\%%f")

		Call :MyMove "%BoxIn%\%%f" "%BoxIn%\%NNN%.%ExtIn%"
		Del "%BoxOut%\%NNN%.%ExtOut%" >nul 2>&1

"C:/Soft/!Video/MKVtoolnix-29.0.0\mkvmerge.exe" --ui-language ru --output ^"D:\uTorrent\work\^(WRKD^)\11.mkv^" --language 0:eng --default-track 0:yes --language 1:eng --default-track 1:no --sub-charset 2:UTF-8 --language 2:eng ^"^(^" ^"D:\uTorrent\work\^(WRKD^)\LostFilm\11.mkv^" ^"^)^" --audio-tracks 1 --no-video --language 1:rus --track-name 1:LostFilm --default-track 1:yes --forced-track 1:yes --sync 1:-9250 ^"^(^" ^"D:\uTorrent\work\^(WRKD^)\LostFilm\aud\11.mkv^" ^"^)^" --track-order 0:0,1:1,0:1,0:2

		Call :MyMove "%BoxIn%\%NNN%.%ExtIn%" "%BoxIn%\%%f"
		Call :MyMove "%BoxOut%\%NNN%.%ExtOut%" "%BoxOut%\%%~nf.%ExtOut%"
	)
GoTo :Eof

:MyMove
		If Not Exist %1 (
			>>"%LogBat%" Echo --- not found %1
			Exit /B 2			
		)

		>>"%LogBat%" 2>&1 Move /Y %1 %2 
		If Exist %2 (
			>>"%LogBat%" Echo +++ success Move /Y %1 %2
		) Else (
			>>"%LogBat%" Echo --- failure Move /Y %1 %2
			>>"%LogBat%" Echo --- failure Move /Y %1 %2
		)
GoTo :Eof

Отправлено: 20:52, 08-12-2018 | #26