Мне нужно найти все строки в myfile.txt, содержащие слово «MyWord», а затем заменить часть этой строки следующим образом:
Исходная строка:
...,31-01-2012,00,some_words_and_symbols_and_digits,MyWord,...
После замены:
...,31-01-2012,01,some_words_and_symbols_and_digits,MyWord,...
Пожалуйста, помогите мне написать этот cmd скрипт!
ОК .. У меня есть следующий код:
@echo off
set code=MyWord
set req=new request
FOR /F "usebackq delims=, tokens=1,2,3,4,5,6,7,8,9*" %%a in (MyFile.txt) do (
IF %%h==%code% (
SET tempstr=%%a,%%b,%%c,%%d,60,%%f,%%g,%%h,%%i
) ELSE (
SET tempstr=%%a,%%b,%%c,%%d,%%e,%%f,%%g,%%h,%%i
)
IF %%a==%req% (
SET echo %%a >> new.strings
) ELSE (
echo %tempstr% >> new.strings
)
)
@echo on
А у меня в файле что-то вроде:
new request
...,31-01-2012,01,some_words_and_symbols_and_digits,MyWord,...
new request
...,30-11-2011,01,some_words_and_symbols_and_digits,OtherWords,...
Но тогда у меня ошибка:
ELSE was unexpected at this time.
И если я попытаюсь просто следующий в конце
IF %%a==%req% SET tempstr=%%a
echo %tempstr% >> new.strings
Тогда у меня есть только один последний ряд вместо другого