批量替换多个不同的字符串

nix*_*xda 5 windows string replace batch-file

我发现下面的解决方案替换字符串,但我不完全理解它.
如何更改代码以每行替换3个字符串?
我的更改(第12行和第13行)尚未生效.

没有运行第二个和第三个循环是否可能?

ECHO off
SETLOCAL enabledelayedexpansion

SET source="C:\source.srt"
SET target="C:\target.srt"

IF EXIST %target% DEL /f %target%

FOR /f "delims=" %%i IN ('FINDSTR . %source%') DO (
   SET line=%%i
   SET line=!line:ö=oe!
   SET line=!line:ä=ae!
   SET line=!line:ü=ue!
   ECHO !line! >> %target%
)
Run Code Online (Sandbox Code Playgroud)

mar*_*tin -2

您不想使用sed吗?这将是一个简单的一行命令。

\n\n
sed -e \'s/\xc3\xb6/oe/g\' -e \'s/\xc3\xa4/ae/g\' -e \'s/\xc3\xbc/ue/g\' source.srt\n
Run Code Online (Sandbox Code Playgroud)\n