使用DOS替换文件的特定行

时间:2012-10-03 19:10:08

标签: windows batch-file cmd dos

我有一个XML文件,我需要使用DOS命令用我自己的行替换特定的第7行。怎么做?

1 个答案:

答案 0 :(得分:0)

我的建议是基于您通过数字而非其内容

来识别行的事实
@echo OFF
REM Say LINE 7 to be removed
SETLOCAL ENABLEDELAYEDEXPANSION
SET LOWER=6
SET UPPER=8
SET INDEX=0
SET MYLINE="this is my new line"
SET OUTFILE=%~n1.new%~x1
>%OUTFILE% (
    for /F "tokens=*" %%L in (%1) do (SET /A INDEX += 1
        IF !INDEX! LEQ %LOWER% (echo %%L) ELSE break
    )
    echo %MYLINE%
    more +%UPPER% %1
)
  • 因为我们进行了大规模的重定向而需要回复
  • ENABLEDELAYEDEXPANSION 循环中的计数器需要
  • 您只需将xml文件作为参数传递给脚本。

HTH