我正在寻找一种扫描 .txt 文件中多个单词的方法 并使用批处理脚本将它们替换为其他单词。 例如我想更改两个词:{Hello}和{beautiful}
之前: “你好堆栈社区今天真是美好的一天”
之后: “嗨堆栈社区今天真是可爱的一天”
我发现了一个可以改变当时一个输入的代码:
setlocal enabledelayedexpansion
set SEARCHTEXT1=Hello
set REPLACETEXT1=Hi
set SEARCHTEXT2=beautiful
set REPLACETEXT2=lovely
set OUTPUTLINE=
for /f "tokens=1,* delims=¶" %%A in ( '"type %INTEXTFILE%"') do (
SET string=%%A
SET modified=!string:%SEARCHTEXT1%=%REPLACETEXT1%!
echo !modified! >> %OUTTEXTFILE%
)
这只会将值“Hello”更改为“Hi” 我也想把“美丽”之类的词换成“可爱”
@echo off
setlocal enabledelayedexpansion
set INTEXTFILE=input.txt
set OUTTEXTFILE=output.txt
set "SEARCHTEXT1=Hello"
set "REPLACETEXT1=Hi"
set "SEARCHTEXT2=beautiful"
set "REPLACETEXT2=lovely"
(for /f "delims=" %%A in (%INTEXTFILE%) do (
set "string=%%A"
set "modified=!string:%SEARCHTEXT1%=%REPLACETEXT1%!"
set "modified=!modified:%SEARCHTEXT2%=%REPLACETEXT2%!"
echo !modified!
)) > %OUTTEXTFILE%
此脚本将替换输入文件中的“Hello”和“beautiful”,并将修改后的文本“Hi”和“Lovely”写入输出文件。确保根据您的特定用例的需要调整文件路径和替换文本。