中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-07-31 22:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助!!!!关于文本内容替换! 查看 1,770 回复 7
楼 主 求助!!!!关于文本内容替换! 发表于 2007-01-03 04:29 ·  中国 广东 肇庆 电信
初级用户
★★
积分 152
发帖 74
注册 2005-12-01 23:06
20年会员
UID 46314
状态 离线
如何在批处理下实现将文本文件里面的内容替换掉!

如将test.txt文件里面的“测试”字眼全部替换成“调试”!

[ Last edited by flamey on 2007-1-3 at 05:32 AM ]
2 发表于 2007-01-03 04:57 ·  中国 辽宁 本溪 联通
银牌会员
★★★
积分 1,212
发帖 464
注册 2006-12-13 21:11
19年会员
UID 73417
性别 男
状态 离线
用记事本自带的替换功能就可以了!不是什么问题都得用批处理啊?
本帖最近评分记录 (共 1 条) 点击查看详情
评分人分数时间
flamey -1 2007-01-03 05:06
3 发表于 2007-01-03 05:36 ·  中国 山东 济南 电信
社区乞丐
★★
此图片另存后死机
积分 -49
发帖 90
注册 2006-12-02 13:00
19年会员
UID 72412
性别 男
状态 离线
哈哈 2楼老师没学习精神被扣分了~~


@ECHO %dbg% OFF
setlocal ENABLEDELAYEDEXPANSION

FOR /F %%i in (test.txt) do (

SET STR=%%i
SET STR=!STR:测试=调试!
ECHO !STR!>>test_ok.txt
)
我的网络笔记本.非联系本人请勿访问!http://w.vicp.net
4 发表于 2007-01-04 03:51 ·  中国 广东 肇庆 电信
初级用户
★★
积分 152
发帖 74
注册 2005-12-01 23:06
20年会员
UID 46314
状态 离线
谢谢tghksj的帮忙,但是有没有一个命令可以实现这个替换呀?
5 发表于 2007-01-04 04:19 ·  中国 广东 电信
荣誉版主
★★★★
batch fan
积分 5,226
发帖 1,737
注册 2006-03-10 00:38
20年会员
UID 51697
来自 成都
状态 离线
  批处理没有专门的替换命令,只有 set var=%var:var1=var2% 这样的替换语句,要通过构造一段代码来解决复杂的替换问题。
尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
6 发表于 2007-01-04 05:03 ·  中国 湖南 娄底 电信
银牌会员
★★★
积分 2,268
发帖 879
注册 2006-12-19 16:23
19年会员
UID 73968
性别 男
状态 离线
好像要这样才完整吧,否则有空格就不对了
FOR /F "delims=" %%i in (test.txt) do (
7 发表于 2007-01-04 05:50 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
Originally posted by flamey at 2007-1-3 14:51:
谢谢tghksj的帮忙,但是有没有一个命令可以实现这个替换呀?


  一个命令解决这个问题的恐怕没有,一条命令也可以,其实还是多个命令拼凑起来的。

for /f "delims=" %i in (test.txt) do @set a=%i&&call set a=%a:测试=调试%&&call >>new_test.txt echo %a%&&set a=
8 发表于 2007-01-04 05:57 ·  中国 广东 肇庆 电信
初级用户
★★
积分 152
发帖 74
注册 2005-12-01 23:06
20年会员
UID 46314
状态 离线
谢谢各位高手!
论坛跳转: