Board logo

标题: [文本处理] 批处理从文本中找出指定内容并替换 [打印本页]

作者: leoboy123    时间: 2008-8-17 21:36     标题: 批处理从文本中找出指定内容并替换

请问各位.如何用P处理从文本中找出我制定的内容并替换那一行..
例如..我想从1.txt找到包含123这几个数字的那一行并替换成456..
请问如何实现..谢谢..
作者: wingsccccc    时间: 2008-8-17 22:23

set "str=%str:123=456%"
我想就可以了
作者: vicp7764    时间: 2008-8-17 22:40

@echo off
setlocal enabledelayedexpansion
set file=
set /p file=  请输入要操作的文件名称(包括扩展名):
set "file=%file:"=%"
for %%i in ("%file%") do set file=%%~fi
echo.
set replaced=
set /p replaced= 请输入即将被替换的内容:
echo.
set all=
set /p all=  请输入替换内容:
for /f "delims=" %%i in ('type "%file%"') do (
    set str=%%i
    set "str=!str:%replaced%=%all%!"
    echo !str!>>"%file%"_tmp.txt
)
copy "%file%" "%file%"_bak.txt >nul 2>nul
move "%file%"_tmp.txt "%file%"
start "" "%file%"
作者: namejm    时间: 2008-8-17 22:42

  最好是给个示范文本,否则,具体代码没法写,只能不着边际地谈一些思路了。
作者: pusofalse    时间: 2008-8-17 22:59

  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.      set "str=%%a"
  4.      setlocal enabledelayedexpansion
  5.      set "str=!str:123=456!"
  6.      echo.!str!
  7.      endlocal
  8. )
  9. pause>nul
复制代码





欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2