で見つかった行の一部を交換して、この文字列の一部を次の方法で交換する:CMDスクリプトを見つけると私は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スクリプトを書くために役立ちます!
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私は最後にシンプルにしようとしています
IF %%a==%req% SET tempstr=%%a
echo %tempstr% >> new.strings
は、その後、私はあなたが指定したテキストを含む行をフィルタリングするfind
コマンドを使用することができる代わりに、他の他の
私はあなたの編集に対応して私の答えを編集しました。次回は、stackoverflowが回答した質問の編集についてユーザーに通知しないので、通知としてコメントを残してください。 – MBu