SW 在 Windows 中替换字符串

SW 在 Windows 中替换字符串

我有一个文本文件(实际上是 XML),我想使用命令行来更改它。换句话说,作为 Windows 批处理的一部分,我想找到一个字符串(在本例中为 @@@@,它使用了文件中其他地方不存在的字符),然后用一些简单的字符替换它,例如日期“8/18/11”。

是否存在某种“grep”、“perl”或其他类型的方法,可以快速替换字符串——同样,这必须通过命令行进行,因为我想自动化这个过程。

顺便说一句,我的电脑上有 Active State PERL。

答案1

要替换文件中所有出现的findthiswith ,请执行以下操作:replacetoexample.txt

perl -pi -e 's/findthis/replaceto/g' example.txt 

答案2

您已有的答案没有错,但为了增加选项,我要指出的是,如果您使用的是 Windows 7,那么您也安装了 powershell。或者,如果您愿意,也可以在 XP/Vista 上安装它。然后:

$foo = gc C:\Path\To\File.txt; $foo | %{$_.replace('@@@@', '8/1/11')} | Out-File C:\Path\To\File.txt

答案3

你似乎知道 grep。你可能想使用相同的实用程序适用于 Windows。您无需安装它,只需将其放在路径中(或放在执行批处理文件的同一文件夹中)。如果您使用它,请不要忘记下载“依赖项”以及二进制文件(或者,如果您喜欢这种东西,请下载安装可执行文件)。

或者,您可能希望使用 VBS 语言(Windows XP 的脚本语言)并创建一个脚本来替换文件中的字符串(请参阅此链接了解详情)并使用命令行运行脚本cscript

相关内容