Тема: CMD/BAT: Парсинг оператором for (Выборочная замена)
Использую следующий сценарий:
@echo off
setlocal enabledelayedexpansion
set infile=F:\test.conf
set find1=1
set replace1=2
set count=0
rem выбираю все содержимое файла
for /F "tokens=* delims=," %%n in (!infile!) do (
rem "%%n" - весь файл
set LINE=%%n
set TMPR=!LINE:%find1%=%replace1%!
rem Именно здесь происходит замена текущей строки!
Echo !TMPR!>>TMP.TXT
rem Добавляем строку к временному файлу
)
rem Делаем резервное копирование исходного файла, на случай что что то пойдет не так…
copy %infile% %infile%.bak
rem Заменяем исходный файл временным
move TMP.TXT %infile%В результате выполнения сценария из исходного test.conf со следующем содержанием:
1
1
1
1
1получаю:
2
2
2
2
2Хочу получить следующий результат:
1
1
2
1
1То-есть замену произвести при третьем совпадении и дальше замену не производить. Подскажите пожалуйста, как можно допилить батничек?
Про ключ skip - в курсе, notepad++ не предлагать, про сторонние утилиты типа sed, gsar тоже, но для моего случая это не подходит...
Необходимо что-то типа вот этого:http://www.cyberforum.ru/csharp-beginne … 33200.html только bat, а не С#
Думаю может помочь вот эта информация: http://www.rsdn.ru/forum/dynamic/4600835.flat
Признаюсь честно, думал обойдется поиском в гугле, но увы я не смог, буду рад любым подсказкам...

