|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переименование фалов по маске |
|
CMD/BAT - Переименование фалов по маске
|
Новый участник Сообщения: 13 |
Уважаемые друзья, добрый вечер!
Подскажите пожалуйста. Такая задача. В папку store, сохраняются файлы вида i02_155567_v_f_160523.txt, требуется согласно данной маске файла переименовать файл в ООО ИНН-АП-Рога Копыта_лист_230516.txt |
|
Отправлено: 17:45, 24-05-2016 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Огромное спасибо, удалось написать код для группы файлов.
Скажите, пожалуй последний вопрос, если к маске файла добавляет еще одна группа символов i02_155567_v_f_160523_GRE.txt, то что в коде надо добавить, я пробовал добавлять GRE в любое место (v_f_[0-9]*\>"') не помогает. |
Отправлено: 16:39, 26-05-2016 | #11 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать
В переименованное имя поставил предпоследний токен 160523 из примера, так как до сих пор неизвестно как должно выглядеть имя конечного файла, что оно должно забирать из предыдущего и каким образом формироваться.
|
Отправлено: 09:00, 27-05-2016 | #12 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Файл исходник i02_155567_v_f_160523.txt -
1. i02 - значение неизменное. 2. 155567 - это номер, _v_f_ - это буквенное значение, оба эти значения могут меняться, от точного соответствия значения блока "155567_v_f_" - "номер_буква_буква_" формируется часть имени файла (ООО ИНН-АП-'номербуквабуква'_лист_230516.txt ) (Рога Копыта, Копыта Рога, Рогатые копыта). 3. Далее i02_155567_v_f_160523.txt - 160523 - должно просто переноситься в новое имя файла. 4. Также могут встречаться файлы вида i02_155567_v_f_160523_GRE.txt - где GRE - всегда неизменное значение, при наличии которого в новое имя оно переносится в неизменном виде, а именно ООО ИНН-АП-Рога Копыта_лист_230516_USD.txt |
Отправлено: 10:29, 27-05-2016 | #13 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Исходя из того что вижу конечное имя берет все после 5го токена по _ и это может быть как 230516.txt так и 160523_GRE.txt - хорошо, здесь ясно. Вот это "значения могут меняться, от точного соответствия значения блока "155567_v_f_" - "номер_буква_буква_" " - более чем непонятно, очень подробно и точно как именно меняются, на что, каков полный процесс формирования из этой части в эту "Рога Копыта, Копыта Рога, Рогатые копыта". Теперь надо знать насколько разные или наоборот похожие имена файлов в папке, чтобы переименовывать нужные или там надо переименовать все что есть, надо чтобы вы дали несколько с десяток имен файлов в папке, которые должны быть переименованы и в их числе максимальное количество различий между собой в имени.
Без формирования "Рога Копыта, Копыта Рога, Рогатые копыта" |
Отправлено: 16:15, 27-05-2016 | #14 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Друзья, огромное спасибо, за помощь!
С 6 токеном разобрался, alpap. отдельное спасибо! И последний вопрос, скажите пожалуйста, как можно изменить формат числа '160530', в файле исходнике выглядит так i02_155567_v_f_160523_GRE.txt, на 230516 в переименованном файле? |
Последний раз редактировалось mych_man, 30-05-2016 в 15:41. Отправлено: 14:36, 30-05-2016 | #15 |
Ветеран Сообщения: 1274
|
Профиль | Отправить PM | Цитировать Цитата mych_man:
|
|
Отправлено: 22:48, 30-05-2016 | #16 |
Ушел из жизни Сообщения: 8595
|
Профиль | Сайт | Отправить PM | Цитировать mych_man, только учтите, что формат в исходном имени не зря выбран как "ГГММДД". Иначе при сортировке по алфавиту вас будут ждать увлекательные развлечения при визуальном поиске. Как впрочем и в некоторых других ситуациях.
|
------- Отправлено: 23:12, 30-05-2016 | #17 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Цитата alpap:
|
|
Отправлено: 10:39, 31-05-2016 | #18 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Друзья, извините я решил предыдущую проблему с подстановкой символов GRE первым, вашим сриптом, ниже пример с вариациями
echo@ off chcp 866 set "d=E:\Report\in" for /f "tokens=1-5 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"\<i02_09971_v_d_[0-9]*\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e" "ООО-ИНН-РОГА Копыта_ОГРН_ОТЧЕТ_%%e" for /f "tokens=1-5 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"\<i02_09972_k_d_[0-9]*\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e" "ЗАО-ИНН-БАБА ЯГА_ОГРН_ОТЧЕТ_%%e" for /f "tokens=1-6 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"^i02_09971_v_d_[0-9]*_GRE\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e_%%f" "ООО-ИНН-РОГА КОПЫТА_ОГРН_ОТЧЕТ_%%e_%%f.txt" for /f "tokens=1-6 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"^i02_09972_v_d_[0-9]*_USD\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e_%%f" "ЗАО-ИНН-БАБА ЯГА_ОГРН_ОТЧЕТ_%%e_%%f.txt" как здесь изменть очередность проставленной в наименовании файла дате, чтобы получилось из i02_09971_v_d_160523.txt - ООО ИНН РОГА Копыта_ОГРН_ОТЧЕТ_230516.txt ? |
Отправлено: 11:22, 31-05-2016 | #19 |
Новый участник Сообщения: 13
|
Профиль | Отправить PM | Цитировать Друзья, спасибо всем участникам обсуждений, задача решена.
alpap, еще раз огромное спасибо! |
Отправлено: 15:00, 01-06-2016 | #20 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - Переименование файла по маске. | Damien_here | Скриптовые языки администрирования Windows | 5 | 13-06-2017 12:51 | |
CMD/BAT - [решено] Переименование по заданной маске bat | Boiston | Скриптовые языки администрирования Windows | 3 | 18-03-2015 01:15 | |
CMD/BAT - Переименование файлов по маске | tobornforlife@vk | Скриптовые языки администрирования Windows | 5 | 24-02-2014 17:07 | |
CMD/BAT - [решено] Копирование и переименование файла по особой маске | DARK-Silver666 | Скриптовые языки администрирования Windows | 5 | 20-12-2012 21:22 |
|