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

[文本处理] 查找含有特定字符串的行并替换行

查找含有特定字符串的行并替换行

查找含有特定字符串的行并替换行
A.TXT中的某行有A字符串则整行替换为B字符串,A,B字符串中都可能有特殊字符
尽量用cmd内置的替换功能。

[ 本帖最后由 yywd 于 2008-9-4 13:53 编辑 ]

谢谢你的回复,可以用了, if /i "!var:~,14! 很好

TOP

回复 5楼 的帖子

试下这个:
  1. @echo off
  2. ren a.txt temp.txt
  3. for /f "delims=" %%a in ('findstr/n .* temp.txt') do (
  4.       set "var=%%a"
  5.       setlocal enabledelayedexpansion
  6.       set "var=!var:*:=!"
  7.       if defined var if /i "!var:~,14!" equ "password --md5" set "var=785fJLn)&%%^#@tt"
  8.       echo.!var!
  9.       endlocal
  10. )>>a.txt
  11. del temp.txt&start a.txt
复制代码
心绪平和,眼藏静谧。

TOP

原帖由 pusofalse 于 2008-9-4 13:01 发表
@echo off
ren a.txt temp.txt
for /f "delims=" %%a in ('findstr/n .* temp.txt') do (
      set "a=%%a"
      setlocal enabledelayedexpansion
      set "a=!a:*:=!"
      if defined a set "a=!a:pas ...


谢谢你的回复,A字符串只能确定到password --md5之后的$1$8$kJA8GTlFXnGjt/JVeedgk/无法确定呀

TOP

  1. @echo off
  2. ren a.txt temp.txt
  3. for /f "delims=" %%a in ('findstr/n .* temp.txt') do (
  4.       set "a=%%a"
  5.       setlocal enabledelayedexpansion
  6.       set "a=!a:*:=!"
  7.       if defined a set "a=!a:password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/=785fJLn)&%%^#@tt!"
  8.       echo.!a!
  9.       endlocal
  10. )>>a.txt
  11. del temp.txt&start a.txt
复制代码
心绪平和,眼藏静谧。

TOP

A.TXT中的原文:
  1. fontfile /FONTS
  2. title 系统
  3. password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/
  4. chainloader /minipe/ldrxpe
  5. title 系统
  6. password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/
  7. chainloader /minipe/ldrxpe
  8. title 关机
  9. halt
复制代码


A字符串=password --md5
B字符串=785fJLn)&%^#@tt
用BAT改成:
  1. fontfile /FONTS
  2. title 系统
  3. 785fJLn)&%^#@tt
  4. chainloader /minipe/ldrxpe
  5. title 系统
  6. 785fJLn)&%^#@tt
  7. chainloader /minipe/ldrxpe
  8. title 关机
  9. halt
复制代码

[ 本帖最后由 pusofalse 于 2008-9-4 12:50 编辑 ]

TOP

说的太笼统了!用个实例说不好吗??
心绪平和,眼藏静谧。

TOP

返回列表