megaloman, дополнение к задаче:
Настроил копирование в другую папку Set "Dest=Name", нужно переименовать третью часть файлов после копирования по алгоритму: 1234_123_2.jpg = 1234_123_
9.jpg; 1234_123_3.jpg = 1234_123_
10.jpg и т.д. по возрастанию.
Возможно реализовать?
Заранее спасибо!
Скрытый текст
Код:
@Echo Off
Set "Dir1=\\Server\Test1"
Set "Dir2=\\Server\Test2"
Set "Dest=Name"
Set "Ext=jpg"
Set "Mask=[0-9]*_[0-9]*_[0-9]*"
rem Set "Mask=[0-9]*_[0-9]*_[0-9]"
Set "Log=%Dir1%\%~nx0.log"
>"%Dir1%\%~nx0.tmp1" (For /F "usebackq delims=" %%i In (`2^>nul Dir /B /A:-D "%Dir1%\*.%Ext%" ^|FINDSTR /I /R /C:"^%Mask%\.%Ext%$"`) Do (Echo %%i))
>"%Dir1%\%~nx0.tmp2" (For /F "usebackq delims=" %%d In (`2^>nul Dir /B /S /A:D "%Dir2%\"`) Do (
For /F "usebackq delims=" %%i In (`2^>nul Dir /B /A:-D "%%d\*.%Ext%" ^|FINDSTR /I /R /C:"^%Mask%\.%Ext%$"`) Do (Echo %%d\%%i)
))
>"%Log%" Echo %Date% %Time%
For /F "usebackq tokens=1,2,3* delims=_." %%i In (`2^>nul more "%Dir1%\%~nx0.tmp1"`) Do (
>nul 2>nul FINDSTR /I /R /C:"\\%%i_%%j_%%k\.%%l$" "%Dir1%\%~nx0.tmp2" &&(
For /F "usebackq delims=" %%f In (`2^>nul more "%Dir1%\%~nx0.tmp2" ^|FINDSTR /I /R /C:"\\%%i_%%j_[0-9]*\.%%l$"`) Do (
If Not Exist "%Dir1%\%%~nxf" (>nul Copy "%%f" "%Dest%\" &>>"%Log%" Echo %%f)
)
)
)
>>"%Log%" Echo %Date% %Time%
2>nul Del "%Dir1%\%~nx0.tmp1"
2>nul Del "%Dir1%\%~nx0.tmp2"
Exit /B 0