Что нового

Данные, строки Поиск и замена

Сообщения
95
Репутация
-1
Доброе время суток. Имеется ini файл со списком программ. Необходимо по названии программы найти в какой секции находится программа и в найденной секции изменить версию программы прочтенную из екзешника
[22] Group=3 Name=AnyDesk Hint=Программа удаленного рабочего стола. Patch={Patch}\software\AnyDesk_Setup.exe Icon={Patch}\profiles\Icons.dll,11 IconIndex=121 Key=--install "%ProgramFiles%\AnyDesk" --start-with-win --silent --create-shortcuts --create-desktop-icon Ver=6.1.4.0 License=1 GUID=AnyDesk [23] Group=3 Name=TeamViewer Hint=Удобная в использовании программа для получения удалённого доступа к компьютерам в обход брандмауэров, заблокированных портов, а также NAT-маршрутизации локальных IP-адресов. Patch={Patch}\software\TeamViewer_Setup.exe Icon={Patch}\profiles\Icons.dll,84 IconIndex=124 Key=/VERYSILENT /TASKS="print,autorun,dark,desktopicon,shell,manager,rcid" Ver=15.13.6.0 License=2 GUID=TeamViewer_is1
 

xXx

╚{■_■}╗
Меценат
Сообщения
248
Репутация
95
Код:
Global $sProgName = 'AnyDesk' ; Имя программы
Global $sProgVer = '00.00.0.0' ; Новая версия
Global $iIniPath = 'File.ini'
Global $aIni = IniReadSectionNames($iIniPath)
If @error Then Exit

For $i = 1 To $aIni[0]
    If IniRead($iIniPath, $aIni[$i], 'Name', 0) = $sProgName Then
        IniWrite ($iIniPath, $aIni[$i], 'Ver', $sProgVer)
    EndIf
Next
 
Верх