1

我在一个文件夹中有超过 1000 个批处理文件。

有没有办法运行脚本来查找特定的文本字符串(比如说 Apples)并在所有文件中用 (Mangos) 替换 Apples?

提前致谢

她我

4

4 回答 4

4

您可以使用 Sublime Text(这是一个免费的无限制评估)来“查找 > 在文件中查找”。查找和替换选项将出现在底部。在“查找:”中输入“苹果”,在“位置”中输入您的位置,在“替换”中输入“芒果”,然后单击“替换”。祝你好运!

于 2013-09-04T21:09:41.350 回答
1

您可以在 stackoverflow 中找到许多示例,以在 pure 中进行操作batch-script

看看这里的replace部分:
如何用命令行参数字符串替换 bat 文件中的字符串
或在这里:
如何使用 Windows 命令行环境查找和替换文件中的文本?

在这里:
遍历批处理脚本中的文件名,在
这里:
使用“for”循环遍历目录中的所有文件以
遍历loop目录中的文件....

这些只是一些,但还有更多。

现在如果您可以考虑使用第三方软件...
...我不能没有推荐WinGrep for Windows,非常非常有用,当然,搜索结果的自动替换(还有正则表达式搜索)

祝你好运


[编辑]
(我添加这个是因为 st2 是公认的解决方案)
我也是 SublimeText 用户,对我来说,ST2 + winGrep + DiffMerge它是 Windows 下开发的绝佳三重奏。

于 2013-09-04T21:26:55.833 回答
1

有一个非常简单的解决方案,它使用 FOR 循环和名为 REPL.BAT 的混合 JScript/批处理实用程序。该实用程序是纯脚本,可​​在从 XP 开始的任何现代 Windows 机器上运行 - 不需要 3rd 方可执行文件。它在标准输入上执行正则表达式搜索和替换,并将结果写入标准输出。

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

for %%F in (*.bat) do (
  type "%%F"|repl Apples Mangos >"%%F.new"
  move /y "%%F.new" "%%F"
)

REPL.BAT 有许多选项,使得它对于这么少的代码非常强大。完整的文档内置在脚本中。

于 2013-09-04T22:14:20.103 回答
0

最终在批处理编程时安装和使用Notepad++来实现 OP 相同的目标。

加载 Notepad++,然后Ctrl+ HFind in Files选项卡,然后像这样填写字段并Replace in Files按下按钮。

在此处输入图像描述

于 2019-01-08T17:46:13.290 回答