|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT |
|
CMD/BAT - [решено] Условное зеркало изображений с одинаковыми именами - CMD/BAT
|
Пользователь Сообщения: 50 |
Профиль | Сайт | Отправить PM | Цитировать Доброго времени суток!
Прошу помощи в реализации следующей задачи. Структура ("Фотки 1" и "Фотки 2" находятся в общий папке "image") Фотки 1 - папка 1 (изображение) - папка 2 (изображение) - папка 3 (изображение) Фотки 2 - папка 1 (изображение) - папка 2 (изображение) - папка 3 (изображение) В папке "Фотки 1" и "Фотки 2" лежат изображение с одинаковыми именами, отличии только в том что в папке "Фотки 2" находятся изображение с вотермарком (имена индитичны) Что нужно? Если удалить вложенное изображение из папки "Фотки 2", то что бы при запуске батника изображение из папки "Фотки 1" так же удалилось. Так же из папкой "Фотки 1" Если удалить вложенное изображение из папки "Фотки 1", то что бы при запуске батника изображение из папки "Фотки 2" так же удалилось ПС. будет чудестно если не удалять изображение, а переносить их в папку remove в корневых каталогах "Фотки 1" и "Фотки 2" Заранее благодарен |
|
Отправлено: 13:22, 18-11-2017 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать да все уже придумали собственно.
|
Отправлено: 15:42, 18-11-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2710
|
Профиль | Отправить PM | Цитировать Вот решение, как поставлена задача: не найденные в другой папке файлы перемещаются в папку Remove
@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, но, однако, в этой папке этот файл помещается в подпапку с тем же именем, из которого он был удалён
@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 |
------- Последний раз редактировалось megaloman, 20-11-2017 в 12:50. Отправлено: 20:59, 18-11-2017 | #3 |
Пользователь Сообщения: 50
|
Профиль | Сайт | Отправить PM | Цитировать Цитата megaloman:
к сожалению ваше решение не работает |
|
Отправлено: 01:05, 20-11-2017 | #4 |
Ветеран Сообщения: 2710
|
Профиль | Отправить PM | Цитировать dokxpi@vk, как понять "не работает", что при запуске скрипта происходит? Вы прописали свои реальные пути к папкам? В именах Ваших папок есть русские символы? В таком случае, в какой кодировке сохранили скрипт?
Еще раз проверил - скрипт рабочий. Единственное, забыл предупредить, что если какой-то под "Папки I" в одной папке есть, а в другой не существует, такая подпапка не обрабатывается, так как Вы в вопросе указали одинаковую структуру подпапок. В предыдущем посте исправил в решении небольшую неточность и добавил еще одно более развитое работающее решение. |
|
------- Последний раз редактировалось megaloman, 20-11-2017 в 12:53. Отправлено: 08:35, 20-11-2017 | #5 |
Пользователь Сообщения: 50
|
Профиль | Сайт | Отправить PM | Цитировать megaloman, вы были правы
Спасибо большое |
Отправлено: 01:31, 23-11-2017 | #6 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - CMD/BAT Поиск по каталогам файлов bat и конвертирование их в JPEG | freerider1989 | Скриптовые языки администрирования Windows | 1 | 18-04-2016 08:37 | |
CMD/BAT - [решено] Удаление файлов по маске в подкаталогах с одинаковыми именами. | Xarien | Скриптовые языки администрирования Windows | 2 | 24-06-2013 14:52 | |
Интерфейс - Синхронизация файлов с одинаковыми именами но разного размера. | Houre | Microsoft Windows 2000/XP | 5 | 20-09-2011 12:32 | |
DNS/DHCP - Проблема!!!В сети появились компы с одинаковыми именами. | grohochet | Сетевые технологии | 10 | 10-02-2009 10:16 | |
CMD/BAT - [решено] *CMD/BAT* | Условное выполнение в батнике | pva | Скриптовые языки администрирования Windows | 3 | 14-07-2006 14:37 |
|