找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 31009|回复: 9

[代码合集] [已解决]替换文中指定字符串的批处理为何运行总是没结果?

[复制链接]
发表于 2011-7-26 17:09:27 | 显示全部楼层 |阅读模式
本帖最后由 ddddxxxxx 于 2011-8-1 22:38 编辑

程序功能是替换(a.txt)文中指定字符串“他”为“其他”:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. cd.>c.txt
  4. for /f %%b in (a.txt) do (
  5. set str=%%b
  6. set str=!str:其他=他!
  7. echo !str!>>c.txt

  8. set str=
复制代码
这个程序我运行总是没结果  我也进行了很多修改,还是没有用。请问怎么修改啊 。我参考了很多资料 都没发现错误 。。。

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-7-26 18:15:14 | 显示全部楼层
暂时发现了两个问题
1     第八行的括号写错了
2     for /f 这里最好加上"delims="

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-7-26 20:19:12 | 显示全部楼层
回复 2# 601997526


    第八行括号因该怎么改?希望给力
发表于 2011-7-26 20:23:58 | 显示全部楼层
回复 3# ddddxxxxx


    你看看()()这两个括号有区别吗
 楼主| 发表于 2011-7-26 20:40:08 | 显示全部楼层
回复 4# 601997526


    真心感谢 . 刚接触批处理不久,很多细节没注意好。受教了 原来是中英文括号不一样 哈哈 欺负新手的东西 教材上都没提醒下 。
 楼主| 发表于 2011-7-26 20:41:00 | 显示全部楼层
回复 5# ddddxxxxx


    我怎么能给你加分啊 ?刚来不久 这些都不知道
发表于 2011-7-26 21:03:05 | 显示全部楼层
回复 5# ddddxxxxx


你接触过的哪种脚本或者语言是不区分中英文括号的?
发表于 2011-7-29 12:31:36 | 显示全部楼层
本帖最后由 Hello123World 于 2011-7-29 12:33 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. REM cd.>c.txt
  4. ::可省略
  5. for /f "delims=" %%b in (a.txt) do (
  6. set str=%%b
  7. set str=!str:其他=他!
  8. echo !str!>>c.txt
  9. )
  10. set str=
  11. ::加上"delims="将分隔符设为null。
  12. ::如果a.txt中含有> < & |之类的特殊符号,就会出错。
复制代码
2楼说的没错,8行的)是中文模式下的,批处理中的所有符号都要是英文模式下的。

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

发表于 2011-7-30 23:14:00 | 显示全部楼层
  1. sed "s/他/其他/g" a.txt >b.txt
复制代码
  1. gawk "gsub(/他/,"其他")" a.txt >b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-8-1 22:37:23 | 显示全部楼层
回复 9# CUer
见过gawk和sed。但我不会用 ,我查查相关的资料。学习学习
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 20:32 , Processed in 0.019643 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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