Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переименование фалов по маске

Ответить
Настройки темы
CMD/BAT - Переименование фалов по маске

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Уважаемые друзья, добрый вечер!
Подскажите пожалуйста.
Такая задача.
В папку store, сохраняются файлы вида i02_155567_v_f_160523.txt, требуется согласно данной маске файла переименовать файл в ООО ИНН-АП-Рога Копыта_лист_230516.txt

Отправлено: 17:45, 24-05-2016

 

Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата mych_man:
файлы вида i02_155567_v_f_160523.txt, требуется согласно данной маске »
Маску Вы не приводите. Равно определить её по одному-единственному приведённому имени не представляется возможным.
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:13, 24-05-2016 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Не без помощи телепатии, конечно, взирая на немногословность ТС, могу предположить что хотелось это:
Код: Выделить весь код
@echo off
set "d=store"
for /f "tokens=1-5 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"\<i[0-9][0-9]_[0-9]*_v_f_[0-9]*\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e" "ООО ИНН-АП-Рога Копыта_лист_%%e"
exit
.
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:07, 25-05-2016 | #3


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Добрый день!
Да извините пожалуйста, за такую постановку задачи, давайте более подробно
1. Файл исходник вида i02_155567_v_f_160523.txt - где "155567" - номер, которому соответствует название "Рога Копыта", "160523" - формирования файла, которая должна переноситься в новое название файла
2. Файл кладется в папку F:\Store

При отработке

@echo off
set "d=store"
for /f "tokens=1-5 delims=_" %%a in ('dir/a-d/b "%d%"^|findstr/irc:"\<i[0-9][0-9]_[0-9]*_v_f_[0-9]*\>"') do ren "%d%\%%a_%%b_%%c_%%d_%%e" "ООО ИНН-АП-Рога Копыта_лист_%%e"
exit

появляется ошибка "непредвиденное появление %%a"

Отправлено: 10:42, 25-05-2016 | #4


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


mych_man,
Я, конечно, все понимаю, но не до такой же степени!
код, что я привел выше копируется отсюда, вставляется в любой созданный текстовый файл, например "name.txt", потом меняем расширение этого файла на .bat, получив при этом, например, "name.bat" и при наличии папки "store" и файла что вы привели запускаем созданный файл из любого места (если указать полный путь к папке, у вас вторая строка кода должна быть
Код: Выделить весь код
set "d=F:\Store"
) обычным или двойным щелчком левой клавишей мыши, как уж у вас настроено.
Кстати больше света на маску файла вы не пролили.

Отправлено: 13:12, 25-05-2016 | #5


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


От того вы полностью описали "как сделать bat" ваш вариант рабочим не становится))
Однако, я хочу поблагодарить вас за старания, мне удалось с помощью вашего решения изменить имя файла, правда на нечитаемые символы.
По поводу маски файла, не понимаю, что можно еще описать? зависимость названия файла от маски "155567" и дублирования числа формирования, напишите пожалуйста, что можно еще добавить.
Еще раз, спасибо за ваши старания.

Отправлено: 14:55, 25-05-2016 | #6


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Цитата mych_man:
правда на нечитаемые символы. »
Кодировка пакетного файла должна быть OEM/866.
Это сообщение посчитали полезным следующие участники:

Отправлено: 16:40, 25-05-2016 | #7


Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


Цитата Iska:
Кодировка пакетного файла должна быть OEM/866 »
Да, это помогло, скрипт работает как надо!
Друзья, поясните пожалуйста, где в этом скрипте и что необходимо менять, если к примеру необходимо будет переименовывать файлы с другими масками на другие имена, зависимость прежняя i02_название компании_v_f_дата.txt
Насколько я понял, данный скрипт умеет переименовывать только файл i02_155567_v_f_160523.txt.
Заранее спасибо!

Отправлено: 17:10, 25-05-2016 | #8


Ветеран


Сообщения: 1274
Благодарности: 564

Профиль | Отправить PM | Цитировать


Цитата mych_man:
По поводу маски файла, не понимаю, что можно еще описать? »
Цитата mych_man:
зависимость прежняя i02_название компании_v_f_дата.txt »
вот это-то и требовалось всю дорогу
сейчас маска "началослова iчислочисло_любыечисла_v_f_любыечисла конецслова", причем все до между и после _ есть в переменной и может быть опущено изменено добавлено. Имя файла может быть сейчас и таким i45_9876543_v_f_123456789.txt, при коде выше остается только эта часть 123456789.txt
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:47, 25-05-2016 | #9


Ветеран


Сообщения: 27449
Благодарности: 8087

Профиль | Отправить PM | Цитировать


Ну, хоть коллега alpap понял .

Отправлено: 07:26, 26-05-2016 | #10



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Переименование фалов по маске

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
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




 
Переход