2013-02-28 139 views
0

這裏有很多用於替換subsring或字符串的例子,但是我需要用常量文本替換包含一些字符串和另一行的所有行。例如我有一個文件:批處理文件替換一條線

aaa=111 
bbb=222 
ccc=333 
aaa=444 

我需要更換 「AAA =」 到 「AAA = 000」。輸出文件應該是這樣的:

aaa=000 
bbb=222 
ccc=333 
aaa=000 

所有這一切都必須在沒有第三方工具,像sed,awk的工作要做,等

回答

1

嘗試使用for循環來解析該文件的每一行。如果"!line:~0,4!"=="aaa="然後回顯您想要的更換,否則回聲線未觸及。這些回聲應該是redirected到文本文件。然後,當您完成後,將新組成的文本文件移至您已循環的文件的頂部。

在保留空行的同時循環瀏覽文本文件的常用方法是for /f "tokens=1* delims=:" %%I in ('findstr /n "^" "filename.txt"') do (something with %%J)findstr命令將在行的開頭輸出文件中的每一行(包括空行),並在行的開始處顯示行號。 %%J變成每行後面的行號。

這應該足以讓你開始。祝你好運!

相關問題