Я вот что-то тоже поискал-поискал - и не нашел готовых решений.
Либо я плохо ищу, либо таких решений нет (впрочем, с негодованием отметаем оба предположения как ничтожные  ).
Либо нужно ваять что-то своё, и желательно на встроенных в систему функциях (bat/powershell/ещё какой-нибудь vbs) - но, во первых, лень, а во вторых я не настолько хорошо знаю синтаксис и функционал, чтобы: - Взять первый .txt-файл в папке и вычитать его содержимое;
- найти первую строку, в которой содержатся нужные для имени файла данные (и это, судя по файлам-примерам, не первая строка файла);
- взять из строки текст для первой части имени файла (тикер инструмента) в первую переменную (причем, как я понимаю, взять регуляркой, так как тикеры разных инструментов разной длины - а бывают, кстати, ещё и тикеры с постфиксами);
- взять из той же строки с данными текст для второй части имени файла (дату начала периода выгрузки котировок) во вторую переменную (опять же, как я понимаю, взять регуляркой, так как хоть количество цифр в дате всегда одинаковое, но сами цифры даты, из-за разной длины тикера инструмента, могут быть на разном расстоянии от начала строки, так что ориентироваться придется на всегда стабильные "маркеры" - между какими по счету запятыми данные);
- найти (предположительно) последнюю строку (игнорируя возможные пустые строки в конце файла), из которой взять текст для третьей части имени файла (дату конца периода выгрузки котировок) в третью переменную;
- конкатенировать ("слепить") из текста трех переменных итоговое имя файла (встатив между текстом переменных нижние подчеркивания) и переименовать файл;
- перейти к следующему файлу и повторить процедуру извлечения имени из содержимого, повторяя процесс до тех пор, пока файлы не кончатся;
- в идеале ещё и проверить (желательно, перед ковырянием в файле) - возможно, он уже назван в соответствии с нужной нам маской файла.
Неее, нафиг, я лучше тут постою, подожду адекватного комментария с ответом на поставленный вопрос)) 
Эту Землю давно пора заапдейтить и пропатчить, запатчить и проапдейтить..
|