|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Поиск и сортировка файлов по части названия |
|
CMD/BAT - Поиск и сортировка файлов по части названия
|
Пользователь Сообщения: 132 |
Профиль | Отправить PM | Цитировать Друзья, доброго времени суток.
Ситуация следующая - есть папка, в ней еще куча папок с файлами. Файлы помечены в конце названия плюсами через пробел, например: имя_файла +.txt имя_файла + +.txt имя_файла + + +.txt Таких файлов по вложенным разным папкам больше нескольких тысяч. Нужно отсортировать все эти файлы по трем разным папкам - с одним, двумя и тремя плюсами. Помогите пожалуйста с данной ситуацией... Заранее благодарю... |
|
Отправлено: 19:14, 03-05-2017 |
Ветеран Сообщения: 2726
|
Профиль | Отправить PM | Цитировать С сохранением структуры папок
@Echo Off Set "BoxIn=Z:\Box_In" Set "File1=* +.txt" Set "File2=* + +.txt" Set "File3=* + + +.txt" Set "BoxOut1=Z:\Box_Out\+" Set "BoxOut2=Z:\Box_Out\+ +" Set "BoxOut3=Z:\Box_Out\+ + +" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File3%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut3%" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File2%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut2%" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File1%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut1%" GoTo :Eof :PlusMove Set "In=%~dp1" Set "Out=%~2" Call Set "Out=%%In:%BoxIn%=%Out%%% If Not Exist "%Out%" Md "%Out%" Move %1 "%Out%" >nul GoTo :Eof Без сохранения структуры папок (внимание! при совпадении имён в разных папках останется один файл с этим именем)
@Echo Off Set "BoxIn=Z:\Box_In" Set "File1=* +.txt" Set "File2=* + +.txt" Set "File3=* + + +.txt" Set "BoxOut1=Z:\Box_Out\+" Set "BoxOut2=Z:\Box_Out\+ +" Set "BoxOut3=Z:\Box_Out\+ + +" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File3%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut3%" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File2%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut2%" FOR /F "usebackq delims=" %%f IN (`Dir "%BoxIn%\%File1%" /B /A-D /S 2^>nul`) DO Call :PlusMove "%%f" "%BoxOut1%" GoTo :Eof :PlusMove If Not Exist %2 Md %2 Move /Y %1 "%~2\" >nul GoTo :Eof |
------- Последний раз редактировалось megaloman, 03-05-2017 в 23:22. Отправлено: 23:06, 03-05-2017 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 00:15, 04-05-2017 | #3 |
Пользователь Сообщения: 132
|
Профиль | Отправить PM | Цитировать megaloman, спасибо, но не хочет работать. Просто запускается и все закрывается.
Если это поможет, у меня стоить ХР-x64 SP2. |
Отправлено: 05:38, 04-05-2017 | #4 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать registeruser1, не поможет. Чтобы помогло, Вы должны полностью и подробно описать свои действия: какой именно код брали — первый или второй, правили ли код по своим потребностям (например, меняли имена папок), в какой кодировке сохраняли пакетный файл, как исполняли пакетный файл и т.д.
|
|
Отправлено: 09:21, 04-05-2017 | #5 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
VBS/WSH/JS - [решено] Поиск строки по части названия и вывод данных в ECHO | Kainos | Скриптовые языки администрирования Windows | 14 | 16-04-2015 22:21 | |
Любой язык - Поиск файлов по имени папки и сортировка | Noscripter | Скриптовые языки администрирования Windows | 1 | 23-03-2015 00:43 | |
Интернет - Сортировка файлов в проводнике по дате названия файла | VbInt | Microsoft Windows 7 | 7 | 15-11-2013 10:33 | |
CMD/BAT - Выборка файлов по части названия | скуби_ДУ | Скриптовые языки администрирования Windows | 7 | 03-08-2011 10:35 |
|