Windows命令行:搜索和替换值

时间:2014-01-07 11:28:40

标签: windows command-line replace command find

我正在尝试查找并替换文本文件中某些内容的值,并且无法弄清楚我将如何做到这一点。

例如,我想进入一个具有android:versionName =“1.53”的文件,并将其替换为android:versionName =“1.54”。

我知道怎么做如果我只想用1.54替换1.53,例如使用一个名为FART的程序(查找并替换文本),但我希望能够用1.54替换语音标记之间的任何内容,即无需指定1.53,因为每次都可以改变。

另一个类似的例子是用#define DLS_VERSION(1600)替换#define DLS_VERSION(1540)。

我只是想知道是否有标准方法或实用程序来做到这一点?

谢谢, 克里斯。

1 个答案:

答案 0 :(得分:0)

任何正则表达式(正则表达式)搜索和替换实用程序应该可以正常工作。 Windows有许多免费选项,但没有批量生产。

一个很好的选择是REPL.BAT - a hybrid JScript/batch utility,可以在XP转发的任何Windows机器上运行,并且不需要下载或安装任何可执行文件。

假设REPL.BAT位于当前目录中,或者更好,位于PATH中的某个位置:

type "yourFile.txt"|repl "(android:versionName=\q).*?(\q)" "$11.54$2" x >"yourFile.txt.new"
move /y "yourFile.txt.new" "yourFile.txt" >nul

type "yourFile.txt"|repl "(#define DLS_VERSION \().*?(\))" "$11600$2" >"yourFile.txt.new"
move /y "yourFile.txt.new" "yourFile.txt" >nul

完整文档嵌入在REPL.BAT脚本中。简单的网络搜索可以找到许多解释正则表达式的网站。