如何用批处理脚本批量替换TXT文件中的多个指定词汇?
批处理实现多词汇批量替换文本内容
你的现有代码仅完成了单次词汇替换,要实现多词汇批量替换,只需要在第一次替换的结果基础上,继续执行后续替换操作即可。以下是修改后的完整代码:
@echo off setlocal enabledelayedexpansion :: 定义替换词汇对,可按需添加更多 set SEARCHTEXT1=Hello set REPLACETEXT1=Hi set SEARCHTEXT2=beautiful set REPLACETEXT2=lovely :: 请自行修改输入输出文件路径 set INTEXTFILE=input.txt set OUTTEXTFILE=output.txt :: 清空输出文件,避免重复追加内容 type nul > %OUTTEXTFILE% for /f "tokens=* delims=" %%A in ('type "%INTEXTFILE%"') do ( set "string=%%A" :: 执行第一次替换 set "modified=!string:%SEARCHTEXT1%=%REPLACETEXT1%!" :: 基于第一次结果执行第二次替换 set "modified=!modified:%SEARCHTEXT2%=%REPLACETEXT2%!" :: 将替换后的行写入输出文件 echo !modified! >> "%OUTTEXTFILE%" ) endlocal echo 替换完成!
关键说明:
- 添加
@echo off关闭命令回显,让执行过程更简洁 - 新增清空输出文件的操作,防止多次运行时内容重复叠加
- 循环参数
tokens=* delims=确保保留原文本行的所有空格和格式,避免截断内容 - 若需要替换更多词汇,只需继续添加对应的
SEARCHTEXT/REPLACETEXT变量,并在循环内增加set "modified=!modified:%SEARCHTEXTN%=%REPLACETEXTN%!"语句即可
内容的提问来源于stack exchange,提问作者be the leaf
相关产品推荐
相关产品推荐

