如何使用Windows批处理脚本在“,”中查找和替换文本文件中的“=”?

时间:2014-01-22 05:52:38

标签: windows batch-file

我的文本文件“new1.txt”包含以下内容:

1:Q4659A.LDS:4:LNAM = 90210; 90210
2:Q4159A.LDS:4:LNAM = 90232; 90210

2)我曾尝试使用延迟扩展逻辑,但总是以错误结束 ==,%“此时出乎意料。

代码:

 set "search=="
 set "replace=,"
 echo %search%
 echo %replace%
 set "textfile=new1.txt"
 set "new1file=new2.txt"
 (for /f "delims=" %%i in (%textfile%) do (
    set "line=%%i"
    set "line=!line:%search%=%replace%!"
    echo(!line!
   endlocal
))>"%new1file%"

请尽快帮忙。

2 个答案:

答案 0 :(得分:1)

如果您知道每行中要替换的元素数量(样本中为1),那么这可以解决问题

(for /f "tokens=1,2 delims=%search%" %%i in (%textfile%) do (
    echo(%%i%replace%%%j
))>"%new1file%"

使用等号作为分隔符,获取分割的标记并使用所需的分隔符输出它们

答案 1 :(得分:1)

这使用名为repl.bat的帮助程序批处理文件 - 从https://www.dropbox.com/s/qidqwztmetbvklt/repl.bat

下载

repl.bat放在与批处理文件相同的文件夹中或放在路径上的文件夹中。

type new1.txt |repl "=" "," >new2.txt