使用批处理文件替换txt文档中的多个输入

问题描述 投票:0回答:1

我正在寻找一种扫描 .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” 我也想把“美丽”之类的词换成“可爱”

loops batch-file replace cmd txt
1个回答
0
投票
@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”写入输出文件。确保根据您的特定用例的需要调整文件路径和替换文本。

© www.soinside.com 2019 - 2024. All rights reserved.