Ветеран

Сообщения: 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
|