标题: [文本处理] 查找含有特定字符串的行并替换行 [打印本页]
作者: yywd 时间: 2008-9-4 10:04 标题: 查找含有特定字符串的行并替换行
查找含有特定字符串的行并替换行
查找含有特定字符串的行并替换行
A.TXT中的某行有A字符串则整行替换为B字符串,A,B字符串中都可能有特殊字符
尽量用cmd内置的替换功能。
[ 本帖最后由 yywd 于 2008-9-4 13:53 编辑 ]
作者: pusofalse 时间: 2008-9-4 11:32
说的太笼统了!用个实例说不好吗??
作者: yywd 时间: 2008-9-4 12:39
A.TXT中的原文:
- fontfile /FONTS
-
- title 系统
- password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/
- chainloader /minipe/ldrxpe
-
- title 系统
- password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/
- chainloader /minipe/ldrxpe
-
- title 关机
- halt
复制代码
A字符串=password --md5
B字符串=785fJLn)&%^#@tt
用BAT改成:
- fontfile /FONTS
-
- title 系统
- 785fJLn)&%^#@tt
- chainloader /minipe/ldrxpe
-
- title 系统
- 785fJLn)&%^#@tt
- chainloader /minipe/ldrxpe
-
- title 关机
- halt
复制代码
[ 本帖最后由 pusofalse 于 2008-9-4 12:50 编辑 ]
作者: 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:password --md5 $1$8$kJA8GTlFXnGjt/JVeedgk/=785fJLn)&%%^#@tt!"
- echo.!a!
- endlocal
- )>>a.txt
- del temp.txt&start a.txt
复制代码
作者: yywd 时间: 2008-9-4 13:33
原帖由 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/无法确定呀
作者: pusofalse 时间: 2008-9-4 13:42 标题: 回复 5楼 的帖子
试下这个:- @echo off
- ren a.txt temp.txt
- for /f "delims=" %%a in ('findstr/n .* temp.txt') do (
- set "var=%%a"
- setlocal enabledelayedexpansion
- set "var=!var:*:=!"
- if defined var if /i "!var:~,14!" equ "password --md5" set "var=785fJLn)&%%^#@tt"
- echo.!var!
- endlocal
- )>>a.txt
- del temp.txt&start a.txt
复制代码
作者: yywd 时间: 2008-9-4 13:52
谢谢你的回复,可以用了, if /i "!var:~,14! 很好
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |