|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Создание папки по имени файла и перемещение файла в эту папку. |
|
CMD/BAT - [решено] Создание папки по имени файла и перемещение файла в эту папку.
|
Пользователь Сообщения: 102 |
Профиль | Отправить PM | Цитировать Добрый день , Помогите пожалуйста с батником.
У меня есть целая куча файлов такаго образца P_434308546FM.JPG , P_434308546TM.JPG Мне нужно чтобы создавалась папка с именем 4343085 и туда перемещались все файлы у которых в название присутствует 4343085. |
|
Отправлено: 20:00, 19-03-2018 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Иванов Иван Иванович Уведомление.doc |
|
Отправлено: 17:10, 14-07-2023 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Если "Фамилия Имя Отчество Что то еще.doc" отделяются пробелами, то
@Echo Off &rem Cls Set "BoxIn=Z:\Box_In" Set "Mask=* * * *.doc" Set "BoxOut=Z:\Box_In" If Not Exist "%BoxIn%\" (Echo !!! Folder "%BoxIn%" not found &Pause &Exit /B 2) If Not Exist "%BoxOut%\" (Echo !!! Folder "%BoxOut%" not found &Pause &Exit /B 2) For /F "usebackq tokens=1,2,3* delims= " %%i In (`2^>nul Dir /B /A:-D "%BoxIn%\%Mask%"`) Do ( If Not Exist "%BoxOut%\%%i %%j %%k" Md "%BoxOut%\%%i %%j %%k" >nul Move "%BoxIn%\%%i %%j %%k %%l" "%BoxOut%\%%i %%j %%k\" ) pause Exit /B 0 |
------- Отправлено: 18:26, 14-07-2023 | #12 |
Новый участник Сообщения: 4
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
|
|
Отправлено: 18:37, 14-07-2023 | #13 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Добрый день! прошу помощи!
Ситуация похожая с вышеописанными, но подработать под мои данные мозгов не хватает. Программа выгружает файлы такого вида "текстовая часть""цифровая часть".pdf -цифровая часть состоит из 8 символов (цифр), эта часть у всех файлов уникальна -в текстовой части может быть что угодно, одинаковая текстовая часть встречается у нескольких файлов задача чтобы положить в папку к этим файлам батник, запустить его и в этой же папке создались папки с именами "текстовых частей" файлов, а в них распределились файлы с соответствующими "текстовыми частями". то есть по несколько файлов в каждую папку. но еще надо чтобы у раскиданных по папкам файлов из имени пропадала "текстовая часть" и оставалась только "цифровая часть" |
Отправлено: 11:52, 11-10-2023 | #14 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать @Echo Off cls SetLocal EnableExtensions EnableDelayedExpansion Set "BoxIn=%~dp0" rem Set "BoxIn=Z:\Box_In" Set "Mask=.*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.*.*" Pushd "%BoxIn%" ||(Echo !!! Folder "%BoxIn%" not found &Pause &Exit /B 2) For /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D ^|FindStr /B /R /C:"%Mask%"`) Do ( Set "Name=%%~nf" Set "FName=!Name:~-8!" Call Set "Name=%%Name: !FName!=!FName!%%" Call Set "Name=%%Name: !FName!=!FName!%%" 2>nul Md "!Name:~0,-8!" >nul Call Move /Y "%%f" "!Name:~0,-8!\!FName!%%~xf" ) Popd pause Exit /B 0 |
------- Отправлено: 16:15, 11-10-2023 | #15 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Это просто супер! работает!
но если честно между текстовой и числовой частью просто огромное количество пробелов, даже не знаю сколько ограничение в 3 пробела это от винды? или можно как-то поправить Все равно, огромнейшее СПАСИБО |
Отправлено: 16:33, 11-10-2023 | #16 |
Ветеран Сообщения: 2723
|
Профиль | Отправить PM | Цитировать Цитата Daswerone:
@Echo Off cls SetLocal EnableExtensions EnableDelayedExpansion Set "BoxIn=%~dp0" rem Set "BoxIn=Z:\Box_In" Set "Mask=.*[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]\.*.*" Pushd "%BoxIn%" ||(Echo !!! Folder "%BoxIn%" not found &Pause &Exit /B 2) For /F "usebackq delims=" %%f In (`2^>nul Dir /B /A:-D ^|FindStr /B /R /C:"%Mask%"`) Do ( Set "Name=%%~nf" Call :Right "%%f" "!Name:~0,-8!" "!Name:~-8!%%~xf" ) Popd pause Exit /B 0 :Right Set "Txt=%~2" Set /A i=0 :Begin Set /A i-=1 If "!Txt:~%i%,1!"==" " GoTo :Begin Set /A i+=1 If %i% Neq 0 Set "Txt=!Txt:~0,%i%!" 2>nul Md "%Txt%" >nul Move /Y %1 "%Txt%\%~3" Exit /B |
|
------- Отправлено: 20:30, 11-10-2023 | #17 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать megaloman,
Вы просто волшебник, работает на УРА!!! думаю многим пригодится. еще раз спасибо! |
Отправлено: 21:21, 11-10-2023 | #18 |
Новый участник Сообщения: 1
|
Профиль | Отправить PM | Цитировать Добрый день!
Подскажите пожалуйста написать батник следующего формата Есть куча папок , со вложенными файлами pdf Пример: Иванов Иван Иванович 1969 года (внутри скан с названием например 6) Петров Петр Петрович (в папке скан с именем Петров) и т.д. Папок более 1000+ Нужно: Скопировать только Сканы (пдф) в определенное место , переименовав их как название папки Заранее спасибо |
Отправлено: 10:55, 08-12-2023 | #19 |
fascinating rhythm Сообщения: 6569
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:43, 08-12-2023 | #20 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Разное - Синтаксическая ошибка в имени файла, имени папки или метке тома | Maestro Deno | Microsoft Windows 7 | 8 | 05-03-2017 19:21 | |
Доступ - Синтаксическая ошибка в имени файла, имени папки или метке тома | Maestro Deno | Microsoft Windows 7 | 1 | 05-03-2017 16:18 | |
CMD/BAT - Удаление и создание папки с определенными правами на эту папку | Mans2k | Скриптовые языки администрирования Windows | 1 | 29-01-2013 16:59 | |
CMD/BAT - [решено] Перемещение файлов из одной папки в разные в зависимости от имени файла | Sarge81 | Скриптовые языки администрирования Windows | 4 | 20-09-2011 04:20 | |
CMD/BAT - [решено] Созд.*.txt по имени файла, с перемещением *.txt и файла в папку с именем файла. | OSArev | Скриптовые языки администрирования Windows | 2 | 30-01-2011 11:58 |
|