无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
查看: 2564|回复: 6
打印 上一主题 下一主题

[求助] 请教! 用批处理查找并替换一个文件中包含定向符的文本

[复制链接]
跳转到指定楼层
1#
发表于 2021-3-3 05:57:51 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 2013kyj 于 2021-3-3 06:00 编辑

比如有个a.ime文件,要把他里面的123456改成654321,使用下面的代码, 可以成功替换:
  1. @echo off
  2. ren a.ime a.txt
  3. setlocal Enabledelayedexpansion
  4. for /f "tokens=*" %%a in (a.txt) do (
  5. set var=%%a
  6. set var=!var:123456=654321!
  7. echo !var!>>b.txt
  8. )
  9. endlocal
  10. ren b.txt a.ime
  11. del a.txt
复制代码
但是,如果我想把文件中的>MAD<替换所>EDR< 应该怎样修改批处理? 下面的代码替换不成功! 也就是要查找的文本,在包含定向符的情况下,进行处理! 或者还有其它更简单的替换方法吗? 请精通批处理的大侠指教, 非常感谢!

  1. @echo off
  2. ren a.ime a.txt
  3. setlocal Enabledelayedexpansion
  4. for /f "tokens=*" %%a in (a.txt) do (
  5. set var=%%a
  6. rem 下面的替换失败
  7. set var=!var:>MAD<=>EDR<!
  8. echo !var!>>b.txt
  9. )
  10. endlocal
  11. ren b.txt a.ime
  12. del a.txt
复制代码


2#
发表于 2021-3-3 08:00:30 | 只看该作者
可以在定向符前面加一个 ^ 符号。

点评

你好, 非常感谢, 添加之后,还是没有效果  详情 回复 发表于 2021-3-3 08:31
回复

使用道具 举报

3#
 楼主| 发表于 2021-3-3 08:31:36 | 只看该作者
magicgenius 发表于 2021-3-3 08:00
可以在定向符前面加一个 ^ 符号。

你好, 非常感谢,
添加之后,还是没有效果
回复

使用道具 举报

4#
发表于 2021-3-3 10:05:42 | 只看该作者



Test.rar

44.13 KB, 下载次数: 3, 下载积分: 无忧币 -2

点评

感谢  详情 回复 发表于 2021-3-5 19:39
回复

使用道具 举报

5#
发表于 2021-3-3 10:12:20 | 只看该作者
我这边测试
  1. set var=!var:^>MAD^<=^>EDR^<!
复制代码

正常,记得编码ansi。
回复

使用道具 举报

6#
发表于 2021-3-3 10:19:47 | 只看该作者
应该是语法问题,dos里的“>"符号是个操作符
回复

使用道具 举报

7#
 楼主| 发表于 2021-3-5 19:39:38 | 只看该作者
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-4-25 04:05

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表