批处理 实现批量替换多个文本文档中指定行中的字符或修改行中内容

如题所述

下午求教了一个问题:
有一个config.txt文本文件,首先要查找其中的第5行的内容是否与指定符串 DEFA=TEST 完全相同,如不是,则用指定的 DEFA=TEST 将该行的内容替换掉,该问题已得到 睿之锐 朋友的完美解答如下:
@echo off&setlocal Enabledelayedexpansion
if exist "templog.txt" del /q /f /a "templog.txt"
set "file=config.ini"
FOR %%i IN ("%file%") DO set G=%%~dpi&set T=%%~ni&set K=%%~xi&set P=%%~nxi
for /f "tokens=1* delims=:" %%a in ('findstr /n ".*" "%file%"') do (
if %%a==5 (if "%%b" NEQ "DEFA=TEST" (goto P) else Del /f /q /a "templog.txt"&exit)
echo %%b>>"templog.txt"
)
:P
echo DEFA=TEST>>"templog.txt"
more +5 "%file%">>"templog.txt"
ren "%file%" "%T%【%random%】%K%"
copy "templog.txt" "%G%%P%"
del /q /f /a "templog.txt"
start "" "%file%"&exit

现在再请教一下,如果上述 DEFA=TEST 中的 TEST 不是常数而是一个变量,如由诸如判定当前目录或盘符等命令自动产生后加在 DEFA= 后面合成一等式字符串再与TXT文件中第五行的内容进第比较替换,则又该如何修改上面的批处理?
温馨提示:内容为网友见解,仅供参考
无其他回答

批处理 实现批量替换多个文本文档中指定行中的字符或修改行中内容_百度...
有一个config.txt文本文件,首先要查找其中的第5行的内容是否与指定符串 DEFA=TEST 完全相同,如不是,则用指定的 DEFA=TEST 将该行的内容替换掉,该问题已得到 睿之锐 朋友的完美解答如下:echo off&setlocal Enabledelayedexpansion if exist "templog.txt" del \/q \/f \/a "templog.txt"set "...

怎么用批处理,批量替换多个文文本里的中括号内指定字符后面的内容?
不清楚你的实际文件\/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行 <# :cls echo off rem 将txt文本文件内指定特征字符串中的部分内容替换为其他指定内容 set #=Any question&set @=WX&set $=Q&set\/az=0x53b7e0...

怎样用批处理批量删除多个文本中含某字的行
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 "...

BAT里批量修改文本文件里的内容!
1、首先鼠标右键单击电脑桌面,选择新建一个文本文档。2、然后打开新建文本文档,输入下方的代码:echo off for \/f "delims=" %%i in ('dir \/s\/b *.txt') do (for \/f "delims=" %%a in ('type "%%~fi"') do (set "foo=%%a"call,set foo=%%foo:1234=4311 call,echo\/%%foo%%>>"%...

bat批处理修改文本文档指定行的内容?
第一个for循环用于遍历目标目录下所有的.tog文件;第二个for循环用于遍历每个文件的所有行,并在需要修改的行进行相应的操作。通过变量count计数,如果当前行是需要修改的行,则输出新的内容到一个临时文件temp.txt中;否则直接将当前行原样输出。最后将临时文件重命名为原文件名,完成修改。

如何用批处理结合VBS实现批量替换修改txt文本???
突然来了点灵感,给你来一行另类的。注意,代码只有一行。。批处理 放在txt文件夹下运行 echo off& for %%1 in (*.txt)do mshta vbscript:createobject("scripting.filesystemobject").opentextfile("wind-%%~1",2,true).writeline(replace(replace(createobject("scripting.filesystemobject").opentextfile...

批量删除多个文件名中多余的字符
name!!extension!" 2>nulendlocal))exit 做好后把这个批处理放到你要修改文件名的文件夹内 点击运行运行:第一行输入“馨香 ”,你的情况第二行直接回车:然后就OK了 如果是要替换成什么字符,第二行打入即可。PS:这个也适用于文件夹名的修改哟。且可以同时修改文件名以及所有子文件夹名,包括有所...

批处理BAT 批量删除TXT文本指定的行
那就不要空行 echo offfor %%i in (2,4)do set #%%i=y(for \/f "tokens=1* delims=:" %%i in ('findstr\/n .* "1.txt"')do ( if not defined #%%i echo;%%j))>"2.txt"pause如果要改原文件,最后一行前插入一行 move "2.txt" "1.txt"...

急急急求bat批处理:批量删除所有txt文档当中第二行以后的内容
,,,V10.0 选择 批替换功能卡,选择txt类型或者Doc\/txt类型,这里选择txt类型。选择行处理,选择删除模式,选择顺数从第3行到第0行,其中0代表末行 或者:选择处理全文模式,勾选使用正则,在待替换内容中输入:(.+?[\\r\\n]).+,在替换新内容中输入:$1,单击新增入列表,最后单击执行。

批处理 如何批量替换不同文件夹中相同文件名中的不同内容
要做这样的文本处理,至少要用到vbs 我个人建议用autoit,简单而且有成熟的帮助。如果熟perl,那是对付文本处理效率最高的语言。

相似回答