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

时间:2012-07-31 15:58:07

标签: windows string batch-file replace

我发现下面的解决方案替换字符串,但我不完全理解它 如何更改代码以每行替换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%
)

1 个答案:

答案 0 :(得分:-1)

您不想使用sed吗?在那里它将是一个简单的一行命令。

sed -e 's/ö/oe/g' -e 's/ä/ae/g' -e 's/ü/ue/g' source.srt