猿问

如何使用Windows命令行环境查找和替换文件中的文本?

如何使用Windows命令行环境查找和替换文件中的文本?

我正在使用Windows命令行环境编写批处理文件脚本,并希望将文件中某些文本(例如“FOO”)的每次出现更改为另一个(例如“BAR”)。最简单的方法是什么?任何内置功能?



守候你守候我
浏览 4135回答 4
4回答

忽然笑

这里的很多答案帮助我指出了正确的方向,但是没有一个适合我,所以我发布了我的解决方案。我有Windows 7,内置PowerShell。这是我用来查找/替换文件中所有文本实例的脚本:powershell -Command "(gc myFile.txt) -replace 'foo', 'bar' | Out-File myFile.txt"解释一下:powershell 启动powershell.exe,它包含在Windows 7中-Command "... " 是powershell.exe的命令行arg,包含要运行的命令(gc myFile.txt)读取内容myFile.txt(gc是Get-Content命令的缩写)-replace 'foo', 'bar'只需运行replace命令替换foo为bar| Out-File myFile.txt 将输出传递给文件 myFile.txtPowershell.exe应该已经成为PATH语句的一部分,但如果没有,您可以添加它。它在我的机器上的位置是C:\WINDOWS\system32\WindowsPowerShell\v1.0

狐的传说

如果您使用的是支持.Net 2.0的Windows版本,我会替换您的shell。 PowerShell通过命令行为您提供.Net的全部功能。内置了许多命令行开关。以下示例将解决您的问题。我正在使用命令的全名,有更短的别名,但这给了你一些谷歌的东西。(Get-Content test.txt) | ForEach-Object { $_ -replace "foo", "bar" } | Set-Content test2.txt
随时随地看视频慕课网APP
我要回答