加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Windows > 正文

windows – 如何在文件夹中的所有文件中执行文本替换?

发布时间:2020-12-14 02:09:13 所属栏目:Windows 来源:网络整理
导读:我需要更新一大组.xml文件中的单个参数.我在 Windows命令行中阅读并使用单行perl我可以让它一次替换一个文件,但我很难让perl一次完成所有文件. perl -pi.bak -e "s/(d+.d+E-d+)/2.2E-6/g;" test.xml 这是有效的,但是当我尝试将其更改为类似的东西时 perl
我需要更新一大组.xml文件中的单个参数.我在 Windows命令行中阅读并使用单行perl我可以让它一次替换一个文件,但我很难让perl一次完成所有文件.

perl -pi.bak -e "s/(d+.d+E-d+)/2.2E-6/g;" test.xml

这是有效的,但是当我尝试将其更改为类似的东西时

perl -pi.bak -e "s/(d+.d+E-d+)/2.2E-6/g;" *.xml

我得到“无法打开* .xml:无效的参数”

perl -pi.bak -e "s/(d+.d+E-d+)/2.2E-6/g;" .xml

给我“无法打开.xml:没有这样的文件或目录”

我试图看看是否可以使用system()从另一个perl脚本中调用它,但是这似乎与使用引号有关,并且可能不是最好的方法.

摘要:

问题 – 我有大量的.xml文件,我想在其中更改单个参数.我必须能够在Windows机器上执行此操作,理想情况下,我希望努力使解决方案能够在脚本中自动执行此操作,以便我可以循环执行多个参数值替换(通过调用单独的程序,将.xml文件作为替换之间的输入).

谢谢你尽你所能的帮助.

解决方法

试试这个:

for /r %i in (*.xml) do perl -pi.bak -e “s/(d+.d+E-d+)/2.2E-6/g;” %i

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读