Patroklos, ничего не понял!
Цитата Patroklos:
Далее я просматриваю изображения и понравившиеся копирую в папку E:\IMG\Good »
|
Вы копируете понравившиеся изображения кучей в одну папку или по подпапкам #ёж, #лиса, #сова? И что хотите получить? Имхо, если кучей, то я бы предложил алгоритм: просматриваем в корне E:\IMG\Good жпг-файлы, ищем их в подпапках #ёж, #лиса, #сова итд папки E:\IMG\Instaloader, при обнаружении его в подпапке, например, #ёж, перемещаю его из корня E:\IMG\Good в Е:\IMG\Good\#ёж, и туда же дописываю файлы-сателлиты. А вот если не найду, то перемещу жпг-файл в отдельную папку, например E:\IMG\Good\#zzzzzzzzzzz
Такой алгоритм избавит от повторных поисков для уже обработанных файлов, что существенно ускорит выполнение скрипта.
Код:
@Echo Off
Set "GoodDir=Z:\IMG\Good"
Set "MaskFile=*.jpg"
Set "AllDirs=Z:\IMG\Instaloader"
Set "MaskDir=#*.*"
Set "NotFound=#zzzzzzz"
FOR /F "usebackq delims=" %%a IN (`Dir "%GoodDir%\%MaskFile%" /B /A:-D 2^>nul`) DO Call :MoveCopy "%%a"
GoTo :Eof
:MoveCopy
FOR /F "usebackq delims=" %%d IN (`Dir "%AllDirs%\%MaskDir%" /B /A:D /T:W /O:-D 2^>nul`) DO (
If Exist "%AllDirs%\%%d\%~1" (
Md "%GoodDir%\%%d" 2>nul
Move /Y "%GoodDir%\%~1" "%GoodDir%\%%d\" >nul
XCopy /D /Y "%AllDirs%\%%d\%~n1.*" "%GoodDir%\%%d\" >nul
GoTo :Eof
)
)
Md "%GoodDir%\%NotFound%" 2>nul
Move /Y "%GoodDir%\%~1" "%GoodDir%\%NotFound%\" >nul
GoTo :Eof
Пути нарисуйте свои
И еще крамольный вопрос: а зачем иметь одни и те же файлы в двух местах? Может быть, их надо не копировать в Good, а перемещать?