替换找到线的一部分,我需要找到包含单词“MyWord” myfile.txt的所有行,然后替换该字符串的一部分,未来的方式:CMD脚本查找和文件
原线路:
...,31-01-2012,00,some_words_and_symbols_and_digits,MyWord,...
更换后:
...,31-01-2012,01,some_words_and_symbols_and_digits,MyWord,...
请帮我写这个剧本CMD!
OK ..我有下面的代码:
@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
然后我只有一个最后一排,而不是其他别的
我编辑我的答案响应您的编辑。下次请发表评论作为通知,因为stackoverflow不会通知用户有关他们回答的问题的编辑。 – MBu 2012-02-01 08:00:54