[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理从文本中找出指定内容并替换

请问各位.如何用P处理从文本中找出我制定的内容并替换那一行..
例如..我想从1.txt找到包含123这几个数字的那一行并替换成456..
请问如何实现..谢谢..

  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
复制代码
心绪平和,眼藏静谧。

TOP

  最好是给个示范文本,否则,具体代码没法写,只能不着边际地谈一些思路了。
尺有所短寸有所长,学好批处理没商量;
考虑问题复杂化,解决问题简洁化。

心在天山,身老沧州。

TOP

@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%"

TOP

set "str=%str:123=456%"
我想就可以了

TOP

返回列表