Поиск и изменение содержимого в INI файле
Доброго времени всем!!!
имеется такой листинг: [Программа1] Версия=2.1.0.55 [Программа2] Версия=1.0.0.14 [Программа3] Версия=1.1.1.1 [Программа5] версия=6.1.1.0 [программа4] версия=2.0.0.0 [программа8] версия=4.1.1 собственно вопрос: как написать такой батничек, чтобы он искал в этом файле нужную секцию и следующую строку менял на другую, т.е. секцию [Программа2] версия=1.0.0.14 заменить на [Программа2] версия=1.0.0.15, причем чтобы можно было одновременно заменять несколько секций с проверкой существующей версии, а то может и менять не надо Заранее спасибо всем откликнувшимся! |
Уточните, КАК Вы хотите передавать список данных для изменения. Файликом?
|
Ну, в принципе у меня задача обрабатывать несколько разнесенных местоположений с этими фалами - проще прописать эти данные в нем самом
|
avb_trader, весьма туманное условие, уточняющие вопросы:
- могут ли в секции присутствовать другие параметры кроме "Версия"? - обязательно ли сохранять относительное положение секции в файле? - что значит "с проверкой", если предполагается простая замена параметра? |
amel27, спасибо за появление!! я много ваших постов прочитал - понял - Вы МАСТЕР в этом деле, пишите очень красиво!!
1. В данном случае конкретно в секции присетвтует только параметр "Версия=1.1.1.1", но хотелось бы универсальности, чтобы не только сдесь это использовать, но и на других примерах (скадем конфиги openvpn - для замены в них параметров) 2. Сохранять относительное положение не обязательно 3. возможно есть такой вариант что секция найдена нужная - но в ней уже заменено на требуемую версию или версия для замены не соответствует нужной. Например надо заменить [Приложение1] версия=1.1.1.1 на [Приложение1] версия=1.1.2.1 А в файле присутствует [Приложение1] версия=1.1.1.0 Надеюсь понятно объяснил, по крайней мере - старался :) |
Цитата:
забыл уточнить про кодировку исходного INI, предположим что это WIN (ANSI/1251) само собой, кодировка самого батника родная - DOS (OEM/866) батник устанавливает параметр "версия" секции "[Программа2]" равным "1.0.2.14", то же для секции "[Программа3]", но только если исходное значение параметра равно "2.1.0.0" Код:
@echo off |
amel27, СУПЕР!!!!
Спасибо большое!! Вы - профессионал! |
Время: 21:41. |
Время: 21:41.
© OSzone.net 2001-