Я пытаюсь создать bat-файл, в который я могу передать один параметр, который будет записан в текстовый файл в очень определенном месте файла.Местоположение в файле неизвестно с самого начала, где оно находится, но его можно найти с использованием жестко закодированных значений.
Структура текстового файла:
SECTION1
value1 = 123456
value2 = asdf
value3 = 1111
SECTION2
value1 = 654321
value2 = something
value3 = 875
SECTION3
value1 = 92948
value2 = aaaaaaa
value3 = 6499
Цель состоит в том, чтобы вызватьпакетный файл следующим образом:
batch.bat somethingelse
... и затем он обновляется точно и только в SECTION2, значение2 из "что-то" в "что-то другое".Как я уже писал, я очень рад жестко закодировать «SECTION2» и «value2» в командном файле.
Это то, что у меня есть до сих пор.Это не много.Я подхожу к нему в три этапа, но, возможно, это неправильный взгляд на него:
1: Определите, с чего начинается РАЗДЕЛ2:
for /f "delims=:" %%N in ('findstr /n "SECTION2" "file.txt"') do set section=%%N
echo %section%
2: Сначало% section% найти первое вхождение значения value2 и сохранить этот номер строки:
Not sure how to accomplish this.
3: в последнем номере строки перезаписать его значением «value2 =» + что-то еще, то есть первым параметром:
This gives me what the row should look like, but I'm not sure how to actually write it.
set output=value2 = %1
echo %output%