|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Скопировать файлы-сателлиты из папки в папку |
|
CMD/BAT - [решено] Скопировать файлы-сателлиты из папки в папку
|
Пользователь Сообщения: 87 |
Профиль | Отправить PM | Цитировать Здравствуйте, помогите пожалуйста решить следующую проблему. Я качаю картинки из интернета при помощи скрипта. Вместе с картинками скачиваются файлы с дополнительной информацией (сателлиты). Выглядит это так:
E:\IMG\Instaloader\#motionmood 2018-01-20_12-53-08_arunaathi_gy.jpg 2018-01-20_12-53-08_arunaathi_gy.json 2018-01-20_12-53-08_arunaathi_gy.txt 2018-01-22_14-10-45_danny_p3d.jpg 2018-01-22_14-10-45_danny_p3d.json 2018-01-22_14-10-45_danny_p3d.txt E:\IMG\Instaloader\#howiseedatworld 2018-01-22_14-56-19_hereisadam.jpg 2018-01-22_14-56-19_hereisadam.json 2018-01-22_14-56-19_hereisadam.txt (только изображение. Без дополнительных файлов. E:\IMG\Good\2018-01-20_12-53-08_arunaathi_gy.jpg) Хотелось бы написать такой скрипт который обозревал бы папку E:\IMG\Good И найдя там файл *.жпг искал бы в папках E:\IMG\Instaloader\* файлы сателлиты и копировал бы всё вместе. Допустим в E:\IMG\финал В идеале в подпапку с тем же именем как и оригинал. То есть: E:\IMG\финал\#motionmood\ 2018-01-20_12-53-08_arunaathi_gy.jpg 2018-01-20_12-53-08_arunaathi_gy.json 2018-01-20_12-53-08_arunaathi_gy.txt Заранее спасибо. |
|
Отправлено: 12:55, 27-01-2018 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать @Echo Off Set "GoodFile=Z:\IMG\Good\*.jpg" Set "AllDirs=Z:\IMG\Instaloader" FOR /F "usebackq delims=" %%a IN (`Dir "%GoodFile%" /B /A:-D /S 2^>nul`) DO ( FOR /F "usebackq delims=" %%b IN (`Dir "%AllDirs%\%%~na.*" /B /A:-D /S 2^>nul`) DO ( XCopy /D /Y "%%b" "%%~dpa" >nul ) ) Заранее пожалуйста. |
------- Последний раз редактировалось megaloman, 27-01-2018 в 14:22. Отправлено: 14:08, 27-01-2018 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать |
Отправлено: 05:00, 29-01-2018 | #3 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Картинки лежат в папках отсортированные по тегам. #ёж, #лиса, #сова. Когда скрипт копирует сателлиты он копирует их в общую папку
В результате ежи, лисы, совы лежат вперемешку
А хотелось бы что бы скрипт копировал в папку InstaloaderBest в подпапку с именем подпапки где находились сателлиты. То есть он нашел сателлит в папке и скопировал в Пока я решил проблему так: Но это лишние, абсолютно бесполезные папки Очень желательно так Спасибо вам за помощь. |
Отправлено: 09:58, 29-01-2018 | #4 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать Patroklos, ничего не понял!
Цитата Patroklos:
Такой алгоритм избавит от повторных поисков для уже обработанных файлов, что существенно ускорит выполнение скрипта.
@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 |
||
------- Последний раз редактировалось megaloman, 29-01-2018 в 11:49. Отправлено: 10:36, 29-01-2018 | #5 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Я просматриваю картинки FSViewer. На картинках которые я желаю сохранить я нажимаю хоткей и картинка копируется из папки
в Цитата megaloman:
PS: Пока я писал ответ вы уже дали решение. Спасибо. Сейчас буду пытаться понять что да как. Идеально! Именно то что надо. Вам надо памятник поставить. Огромное спасибо. |
|
Отправлено: 11:45, 29-01-2018 | #6 |
Пользователь Сообщения: 87
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 12:04, 29-01-2018 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
[решено] Как скопировать папку с файлами из одного места в другое? | Pozia | AutoIt | 11 | 15-04-2015 12:57 | |
Разное - [решено] Не перемешаются файлы с папки в папку | micro8 | Microsoft Windows 7 | 0 | 18-03-2013 21:09 | |
CMD/BAT - Как скопировать файл/ы из CD/DVD в папку Program Files ??? | meGangstaWorld | Скриптовые языки администрирования Windows | 7 | 13-03-2013 22:49 | |
VBS/WSH/JS - [решено] Надо скопировать файлы из одной папки в другую, но только если их нет в третьей | rromms | Скриптовые языки администрирования Windows | 3 | 11-09-2011 21:42 | |
CMD/BAT - [решено] как скопировать файлы 1,2,3 в папки x,y,z соответственно | shadowbat | Скриптовые языки администрирования Windows | 6 | 21-05-2010 13:07 |
|