使用Windows批处理替换文本文件中的一行

时间:2014-03-27 04:56:59

标签: windows batch-file

我的文本文件包含以下内容

status=y

我需要将其更改为

status=n

使用Windows批处理脚本

我试过了,但是我收到了语法错误

setlocal enabledelayedexpansion
set INTEXTFILE=status.txt
set OUTTEXTFILE=t.txt
set SEARCHTEXT='status=y'
set REPLACETEXT='status=n'
set OUTPUTLINE=
for /f "tokens=1,* delims=" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT%=%REPLACETEXT%!
echo !modified! >> %OUTTEXTFILE%
)
del %INTEXTFILE%
rename %OUTTEXTFILE% %INTEXTFILE%

1 个答案:

答案 0 :(得分:0)

在示例文件上测试。

@echo off
type status.txt|repl "status=y" "status=n" L >temp.tmp
move temp.tmp status.txt >nul

以上使用名为repl.bat的帮助程序批处理文件 - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。