|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск файлов в каталогах/подкаталогах и перемещение в единую папку |
|
CMD/BAT - Поиск файлов в каталогах/подкаталогах и перемещение в единую папку
|
Ветеран Сообщения: 546 |
Здравствуйте, подскажите, пожалуйста, как можно найти файлы в каталоге (который я укажу) и во всех его каталогов/подкаталогов, а потом переместить все эти найденные файлы в одну папку (которую я укажу). Список файлов находится в тхт файле (в столбик, с расширением)
Мы указываем путь, где нужно искать файлы (включая каталоги/подкаталоги): Указываем файл old.txt в котором находится имена файлов, которые прописаны с расширением в столбик. Указываем папку в которую нужно переместить все найденные файлы: ![]() |
|
Отправлено: 22:59, 24-11-2015 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Alexander_88, возможны ли файлы с одинаковыми именами в разных подкаталогах? Если возможны, то как их перемещать?
|
------- Отправлено: 03:04, 25-11-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 546
|
Профиль | Отправить PM | Цитировать Нет, такого быть не может, все имена разные, есть почти одинаковые, но 1 символ всеравно различается, поэтому полностью одинаковых нету
![]() |
Отправлено: 05:05, 25-11-2015 | #3 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать Если в именах файлов возможны русские буквы и батник и текстовый файл с их именами в 866(dos) кодировке
@Echo Off CLS Set "FName=E:\Delete\file name 866.txt" Set "From=E:\ddd\Games" Set "To=E:\ddd\Ку Ку" Md "%To%" 2>nul If Not Exist "%From%" ( Echo Папка "%From%" не существует GoTo :Eof ) If Not Exist "%FName%" ( Echo Файл "%FName%" не существует GoTo :Eof ) FOR /F "usebackq delims=" %%f IN ("%FName%") DO ( FOR /F "usebackq delims=" %%i IN (`Dir "%From%\%%f" /s /A-d /B 2^>nul`) DO ( Echo %%i Move /Y "%%i" "%To%\" ) ) Pause Если в именах файлов возможны русские буквы и батник и текстовый файл с их именами в 1251 кодировке
@Echo Off CLS Chcp 1251 >nul Set "FName=E:\Delete\file name 1251.txt" Set "From=E:\ddd\Games" Set "To=E:\ddd\Ку Ку" Md "%To%" 2>nul If Not Exist "%From%" ( Echo Папка "%From%" не существует pause GoTo :Eof ) If Not Exist "%FName%" ( Echo Файл "%FName%" не существует pause GoTo :Eof ) FOR /F "usebackq delims=" %%f IN ("%FName%") DO ( FOR /F "usebackq delims=" %%i IN (`Dir "%From%\%%f" /s /A-d /B 2^>nul`) DO ( Echo %%i Move /Y "%%i" "%To%\" ) ) pause |
------- Последний раз редактировалось megaloman, 26-11-2015 в 00:07. Отправлено: 23:56, 25-11-2015 | #4 |
Ветеран Сообщения: 546
|
Профиль | Отправить PM | Цитировать Спасибо, проверил, работает, я взял второй вариант
![]() |
|
Отправлено: 22:44, 26-11-2015 | #5 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - Перемещение файлов в папку со вчерашней датой | Chingiz87 | Скриптовые языки администрирования Windows | 0 | 15-03-2015 15:53 | |
CMD/BAT - Поиск и проверка сегодняшних файлов в динамических каталогах | rudimko | Скриптовые языки администрирования Windows | 4 | 10-09-2012 20:55 | |
VBS/WSH/JS - [решено] перемещение N файлов из папки в папку | Romano | Скриптовые языки администрирования Windows | 5 | 06-12-2011 21:08 | |
CMD/BAT - Перемещение в папку определенного количества файлов | Arsenik77 | Скриптовые языки администрирования Windows | 1 | 18-07-2011 17:11 | |
CMD/BAT - [решено] Поиск файлов и перемещение каталога | djvall | Скриптовые языки администрирования Windows | 3 | 04-02-2011 09:32 |
|