Board logo

标题: 求助!!!!关于文本内容替换! [打印本页]

作者: flamey     时间: 2007-1-3 04:29    标题: 求助!!!!关于文本内容替换!

如何在批处理下实现将文本文件里面的内容替换掉!

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

[ Last edited by flamey on 2007-1-3 at 05:32 AM ]
作者: jmz573515     时间: 2007-1-3 04:57
用记事本自带的替换功能就可以了!不是什么问题都得用批处理啊?
作者: tghksj     时间: 2007-1-3 05:36
哈哈 2楼老师没学习精神被扣分了~~
@ECHO %dbg% OFF
setlocal ENABLEDELAYEDEXPANSION

FOR /F %%i in (test.txt) do (
                             
                             SET STR=%%i
                             SET STR=!STR:测试=调试!
                             ECHO !STR!>>test_ok.txt
                              )

作者: flamey     时间: 2007-1-4 03:51
谢谢tghksj的帮忙,但是有没有一个命令可以实现这个替换呀?
作者: namejm     时间: 2007-1-4 04:19
  批处理没有专门的替换命令,只有 set var=%var:var1=var2% 这样的替换语句,要通过构造一段代码来解决复杂的替换问题。
作者: 26933062     时间: 2007-1-4 05:03
好像要这样才完整吧,否则有空格就不对了
FOR /F "delims=" %%i in (test.txt) do (
作者: lxmxn     时间: 2007-1-4 05:50


  Quote:
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=

作者: flamey     时间: 2007-1-4 05:57
谢谢各位高手!