Доброго времени суток!
Прошу помощи в реализации следующей задачи.
Структура ("Фотки 1" и "Фотки 2" находятся в общий папке "image")
Фотки 1
- папка 1 (изображение)
- папка 2 (изображение)
- папка 3 (изображение)
Фотки 2
- папка 1 (изображение)
- папка 2 (изображение)
- папка 3 (изображение)
В папке "Фотки 1" и "Фотки 2" лежат изображение с одинаковыми именами, отличии только в том что в папке "Фотки 2" находятся изображение с вотермарком (имена индитичны)
Что нужно?
Если удалить вложенное изображение из папки "Фотки 2", то что бы при запуске батника изображение из папки "Фотки 1" так же удалилось. Так же из папкой "Фотки 1" Если удалить вложенное изображение из папки "Фотки 1", то что бы при запуске батника изображение из папки "Фотки 2" так же удалилось
ПС. будет чудестно если не удалять изображение, а переносить их в папку remove в корневых каталогах "Фотки 1" и "Фотки 2"
Заранее благодарен
CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
-
alpap
Re: CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
да
все
уже придумали собственно.-
megaloman
Re: CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
Вот решение, как поставлена задача: не найденные в другой папке файлы перемещаются в папку Remove
[spoiler]Код: [/spoiler]
Здесь файлы перемещаются в папку Remove, но, однако, в этой папке этот файл помещается в подпапку с тем же именем, из которого он был удалён
[spoiler]Код: [/spoiler]
[spoiler]Код: [/spoiler]
Код: Выделить всё
@Echo Off
Set "Box1=Z:\Box_In\Фотки 1"
Set "Arc1=Z:\Box_In\Фотки 1\Remove"
Set "Box2=Z:\Box_In\Фотки 2"
Set "Arc2=Z:\Box_In\Фотки 2\Remove"
Call :Remove "%Box2%" "%Arc1%" "%Box1%"
Call :Remove "%Box1%" "%Arc2%" "%Box2%"
GoTo :Eof
:Remove
If Not Exist "%~2" Md "%~2"
FOR /F "usebackq delims=" %%d IN (`dir "%~3" /b /A:D`) DO (
If Not "%~nx2"=="%%d" If Exist "%~1\%%d" (
FOR /F "usebackq delims=" %%f IN (`dir "%~3\%%d" /b /A:-D 2^>nul`) DO (
If Not Exist "%~1\%%d\%%f" Move /Y "%~3\%%d\%%f" "%~2\" >nul
)
)
)
GoTo :EofЗдесь файлы перемещаются в папку Remove, но, однако, в этой папке этот файл помещается в подпапку с тем же именем, из которого он был удалён
[spoiler]Код: [/spoiler]
Код: Выделить всё
@Echo Off
Set "Box1=Z:\Box_In\Фотки 1"
Set "Arc1=Z:\Box_In\Фотки 1\Remove"
Set "Box2=Z:\Box_In\Фотки 2"
Set "Arc2=Z:\Box_In\Фотки 2\Remove"
Call :Remove "%Box2%" "%Arc1%" "%Box1%"
Call :Remove "%Box1%" "%Arc2%" "%Box2%"
GoTo :Eof
:Remove
If Not Exist "%~2" Md "%~2"
FOR /F "usebackq delims=" %%d IN (`dir "%~3" /b /A:D 2^>nul`) DO (
If Not "%~nx2"=="%%d" (
FOR /F "usebackq delims=" %%f IN (`dir "%~3\%%d" /b /A:-D 2^>nul`) DO (
If Not Exist "%~1\%%d\%%f" (
If Not Exist "%~2\%%d" Md "%~2\%%d"
Move /Y "%~3\%%d\%%f" "%~2\%%d\" >nul
)
)
)
)
GoTo :Eof-
dokxpi@vk
Re: CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
Цитата megaloman:
Код:
megaloman, спасибо за то что обратили внимание на пост и попытались помочь, но
к сожалению ваше решение не работает
Код:
CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
megaloman, спасибо за то что обратили внимание на пост и попытались помочь, но
к сожалению ваше решение не работает
-
megaloman
Re: CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
dokxpi@vk, как понять "не работает", что при запуске скрипта происходит? Вы прописали свои реальные пути к папкам? В именах Ваших папок есть русские символы? В таком случае, в какой кодировке сохранили скрипт?
Еще раз проверил - скрипт рабочий. Единственное, забыл предупредить, что если какой-то под "Папки I" в одной папке есть, а в другой не существует, такая подпапка не обрабатывается, так как Вы в вопросе указали одинаковую структуру подпапок.
В предыдущем посте исправил в решении небольшую неточность и добавил еще одно более развитое работающее решение.
Еще раз проверил - скрипт рабочий. Единственное, забыл предупредить, что если какой-то под "Папки I" в одной папке есть, а в другой не существует, такая подпапка не обрабатывается, так как Вы в вопросе указали одинаковую структуру подпапок.
В предыдущем посте исправил в решении небольшую неточность и добавил еще одно более развитое работающее решение.
-
dokxpi@vk
Re: CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
megaloman, вы были правы
Спасибо большое
Спасибо большое