1. Уважаемые гости и пользователи форума.
    Администрация настоятельно рекомендует не регистрировать несколько аккаунтов для одного пользователя. При выявлении наличия мультиаккаунтов будут заблокированы все учетные записи данного пользователя.
    Аккаунты, зарегистрированные на временную почту будут также заблокированы.

Вопрос как в *.ini файле удалить определённые секции по маске?

Тема в разделе "Nullsoft Scriptable Install System (NSIS)", создана пользователем Sanch8, 26 янв 2013.

  1. Старожил

    Регистрация:
    29 май 2012
    Сообщения:
    17
    Симпатии:
    12
    Пол:
    Мужской
    У меня такой вопрос, как в *.ini файле удалить определённые секции по маске ?
    DeleteINISec "$tmp\sections.ini" DOC_1234 удалит только эту секцию, а мне нужно
    что-то типа DeleteINISec "$tmp\sections.ini" DOC_*
     
  2. Ветеран

    Регистрация:
    13 авг 2011
    Сообщения:
    35
    Симпатии:
    55
    Пол:
    Мужской
    Не знаю насколько рациональный (и реализуемый) алгоритм я предлагаю, но все же:
    1. Получение списка всех секций в ini файле.
    • Тут поможет плагин EnumINI. Может извлечь список секций в стек.
    2. Потом записать содержимое стека в массив.
    3. Создать новый массив со значениями по маске DOC_*, либо в том же массиве оставить только те значения, которые содержат DOC_ (смотря какой вариант легче реализовать).
    4 Удалить секции с помощью ${ForEachIn} (плагин nsArray).
    • Что-то типа:
    • ${ForEachIn} my_array $key $value
    • DeleteINISec "$tmp\sections.ini" $value
    • ${Next}
     

Поделиться этой страницей