|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.10.2017, 08:27 | #1 |
Регистрация: 29.06.2011
Сообщений: 4
|
BAT\CMD-Замена части строк в csv файле из имени файла
Добрый день!
Прошу помощи в решении проблемы: 1. В каталог D:\file\ ежедневно сохраняется файл. Имя файла имеет формат bla.bla.20171015.zip.pgp, т. е. меняются только цифры(они же дата) в имени файла. 2. В каталоге D:\txt\ находится csv-файл с большим количеством строк формата sdfla20171014.dbf sdsfd20171014.dbf bbbla20171014.dbf т.е. в начале строки случайный текст, но в конце всегда дата и расширение .dbf . 3. Требуется скопировать дату из имени файла bla.bla.20171015.zip.pgp из пункта 1 (восемь символов начиная с девятого с конца имени файла) и в csv файле из пункта 2 заменить во всех строках, начиная со второй, восемь символов начиная с пятого с конца строки тем, что скопировали, чтобы строки приняли вид sdfla20171015.dbf sdsfd20171015.dbf bbbla20171015.dbf и сохранить файл. Желательно такое реализовать с помощью bat-файла. Если не реально, то на delphi 7. Буду очень благодарен за помощь! Последний раз редактировалось viteklev; 16.10.2017 в 08:33. Причина: Не верный заголовок |
16.10.2017, 10:17 | #2 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
на CMD я такое не напишу, а на Delphi это сделать несложно.
А в чём у Вас проблема написать это на Delphi? |
17.10.2017, 16:05 | #3 |
Регистрация: 29.06.2011
Сообщений: 4
|
Serge_Bliznykov, delphi -это на крайний случай, если в bat не реализую.
При помощи форумов написал такой код: Код:
Но главная проблема как в значении переменной stroka заменить 6 символов, начиная с пятого с конца строки, на значение переменной date1? И еще дополнительный (второстепенный) вопрос: как сделать так, чтобы при использовании цикла for строка не разбивалась на подстроки если в ней есть пробелы? Может быть у кого-то будут идеи? |
17.10.2017, 16:22 | #4 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
я не большой специалист в командных файлах, поэтому вряд ли подскажу.
Ждите, может откликнется кто-то, кто реально этот командный язык знает. а это что? в исходном условии про это ничего не было сказано. откуда Вы дату теперь берёте? Цитата:
Код:
позволю себе ссылку привести. на мой взгляд - полезно. Переменные. Команда SET - https://vk.com/topic-73316640_31058938 Последний раз редактировалось Serge_Bliznykov; 17.10.2017 в 17:12. |
|
17.10.2017, 17:14 | #5 |
Регистрация: 29.06.2011
Сообщений: 4
|
Дата указана в имени файла. Этой датой необходимо заменить символы в csv-файле. В задании в 1 пункте я не верно указал формат имени файла откуда она берется и расположение этого файла. Вместо bla.bla.20171015.zip.pgp должно быть bla.bla._171015.dbf. Мне нужны были 6 символов, начиная с пятого, с конца имени.
Циклом for я присвоил переменной имя dbf-файла из каталога attach. Потом переменной удалил 4 символа с конца (.dbf). Потом взял последние 6 символов из переменной (171015). Как раз то, что мне и надо. Скорее всего использование цикла для того чтобы переменной присвоить имя файла не правильно, т. к. в каталоге attach много dbf-файлов с подобными названиями (а нам достаточно любого одного) и программе приходится много кратно выполнять не нужные действия, но как реализовать по другому я не нашел. |
17.10.2017, 17:49 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Вы код, который я выложил выше видели? проверили? работает?
|
17.10.2017, 17:51 | #7 |
Регистрация: 29.06.2011
Сообщений: 4
|
Да! Код работает. То, что нужно. Serge_Bliznykov, спасибо!
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Макрос - Открытие найденого файла по части имени | LLIaMaH | Microsoft Office Excel | 13 | 02.05.2016 23:08 |
замена 2 произвольных строк в огромном файле | polin11 | Общие вопросы C/C++ | 2 | 16.09.2015 15:24 |
Поиск файла в папке по части текстового имени | stogs | Microsoft Office Excel | 2 | 06.05.2013 15:55 |
Удаление части имени файла при сохранении | BDA2011 | Microsoft Office Excel | 4 | 25.01.2012 12:28 |
Автоматическая замена имени файла в связанной ячейке | ProkVS | Microsoft Office Excel | 0 | 29.12.2010 21:25 |