替換找到線的一部分,我需要找到包含單詞「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