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

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

Ветеран


Contributor


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

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


rider42,
Цитата Iska:
Оформляете основной код в виде процедуры и вызываете эту процедуру столько раз, сколько у Вас есть исходных каталогов, передавая ей потребные параметры, включая очередной исходный каталог. »
как будет выглядеть код, если допустим исходных папок с файлами несколько
Код: Выделить весь код
@Echo Off
cls
chcp 1251 >nul
	Set "LogBat=%~dpnx0.log"
	>"%LogBat%" Echo    %Date% %Time%

	Call :Process "Z:\Download\Video" "Z:\Download\!Vid2CHG" "mp4" "mkv"
	Call :Process "Z:\Box_In\Download\Video" "Z:\Box_In\Download\!Vid2CHG" "mp4" "mkv"
	Call :Process "Z:\Soft_In\Download\Video" "Z:\Soft_In\Download\!Vid2CHG" "mp4" "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

rem Обработка программами
		Echo "%BoxIn%\%%f"
		Echo "%BoxIn%\%NNN%.%ExtIn%"
		Echo:
		Copy "%BoxIn%\%NNN%.%ExtIn%" "%BoxOut%\%NNN%.%ExtOut%" >nul
rem ---------------------

		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

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

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

Отправлено: 15:45, 08-12-2018 | #25