用某行内容替换特定字符
用某行内容替换特定字符
发布时间:2016-12-28 来源:查字典编辑
摘要:复制代码代码如下:@echooff::用A.TXT中的第一行字符,替换B.TXT中的###字符.::再用A.TXT中的第二行字符,替换B.T...

复制代码 代码如下:

@echo off

:: 用A.TXT中的第一行字符,替换B.TXT中的###字符.

:: 再用A.TXT中的第二行字符,替换B.TXT中的@@@字符.

:: ……

:: 如果A.txt第M行中含有在第N行中要替换的内容S(M<N),则会用S来替换B.txt中含有第M行中的匹配内容

:: 例如:假设A.txt中第1行含有在第二行中要替换的@@@,则会用@@@替换B.txt中含有第一行的@@@。

:: 使用格式:要用第M行的内容替换S,就在第M行的位置上加一句 call :_replace S

:: 如果在第N行上没有要替换的内容,第N行的位置加 set num=N

setlocal enabledelayedexpansion

set num=0

call :_replace ###

call :_replace @@@

set num=3

call :_replace $$$

exit

:_replace

set /a num+=1

set char=%1

for /f "tokens=1,2* delims=:" %%i in ('findstr /n . A.txt') do if %%i equ %num% set str=%%j

for /f "delims=" %%i in (B.txt) do (

set _str=%%i

set "_str=!_str:%char%=%str%!"

echo !_str!>>tmp.txt

)

move tmp.txt B.txt

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新DOS/BAT学习
热门DOS/BAT学习
脚本专栏子分类