Показать полную графическую версию : Поиск и замена строк в ini-файлах
alex_frog
17-11-2014, 22:27
Просьба, подобрать скрипт, который изменяет строки в ini-файлах через cmd, bat
1. Есть несколько ini-файлов содержащие строки например "lifenumber=20" которые постоянно меняются.
Нужно написать скрипт, который ищет в нескольких указанных каталогах ini-файлы (все, что найдет) со строкой "lifenumber=20" и найдя, увеличивает число на 1 единицу больше (+1), на примере "lifenumber=21"
2. Другой скрипт, тоже ищет строку "lifenumber=число" в указанных каталогах (их несколько) и удаляет строку "lifenumber=число" или комментируется строка, например ";lifenumber=число"
Упакуйте образцы ini-файлов в архив и выложите на RGhost или прикрепите к сообщению.
который ищет в нескольких указанных каталогах ini-файлы (все, что найдет) »
А это зачем?
1. Есть несколько ini-файлов содержащие строки например "lifenumber=20" которые постоянное меняются.
Нужно написать скрипт, который ищет в нескольких указанных каталогах ini-файлы (все, что найдет) со строкой "lifenumber=20" и найдя, увеличивает число на 1 единицу больше (+1), на примере "lifenumber=21" »
@echo off
set targets="D:\Test\556\1\*.ini" "D:\Test\557\2\*.ini" "D:\Test\558\3\*.ini"
for /f "delims=" %%i in ('"dir /a-d/b/s %targets% 2>nul"') do (
for /f "delims=" %%j in ('"type "%%i"& del "%%i""') do (
for /f "tokens=1,2 delims==" %%k in ("%%j") do (
if "%%k"=="lifenumber" (
for /f %%m in ('set /a %%l+1') do (
echo %%k=%%m>>"%%i"
)
) else (
echo.%%j>>"%%i"
)
)
)
)
exit /b
alex_frog
18-11-2014, 00:16
Georgio, спасибо, п.1 работает, даже рекурсивно
alex_frog
18-11-2014, 08:31
Georgio, скрипт "удаляет" удаляет сам файл, а нужно только эту найденную строку
С коммментарием, все ок
alex_frog
25-11-2014, 00:48
Georgio, Просьба, допилить.
Нужно искать несколько строк со словами типа "lifenumber", "lifenumberd1" и "lifenumberd2" и находить по указанным секциям, например [section1], [section2] и прибавлять значения чисел "+1"
Если можно "set targets=" указывать директории по строкам, т.к. может быть 10 и более, в длину они не очень читабельны.
Нужно искать несколько строк со словами типа "lifenumber", "lifenumberd1" и "lifenumberd2" и находить по указанным секциям, например [section1], [section2] и прибавлять значения чисел "+1" »
alex_frog, нужен образец INI-файла в архиве.
aleks_frog
25-11-2014, 11:29
Пример,
lifenumber=10
lifenumberd1=11
Lifenumberd2=12
[db:section1]
lifenumber=8
[db:section2]
lifenumber=9
Поиск с параметрами: путь с unc, указанный каталог и рекурсивно, файл или группа файлов *.ini, в ini-шках поиск и +1 строк "lifenumber" и\или " lifenumberd1"и\или "lifenumberd2" по нескольким указанным секциям и без указаний секций
Пример »
нужен образец INI-файла в архиве »,
а не пример.
aleks_frog, что случилось с alex_frog? Зачем новая учётная запись?
alex_frog
25-11-2014, 22:48
Iska, Это я, заходил с гаджета, забыл свой пароль)
Georgio, только такой пример и на этом примере, оригиналы не могу, конфиденциально
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.