BAT批处理,怎么把文件的某行内容替换成自己定义的?

图片中 0000 不确定有或者没有,或者是别的数字。所有想把整行直接换成指定的字符。以下是我的代码,执行后文本是直接在添加了一行。原先还在。头疼。。。求大佬指教

第1个回答  2021-10-16
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
------------------------------------------------------------------------------
<# :
cls&echo off&mode con lines=5000
rem 将一个txt文本文件里包含有指定关键字的整行内容替换成其他内容
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$txtfile="D:\22.txt";
$findword="0000";
$newline="worker_connections 7777;";
[IO.File]::ReadAllLines($txtfile,[Text.Encoding]::GetEncoding('GB2312'))|%{if($_.Contains($findword)){$newline;}else{$_;}}
第2个回答  2021-11-01
echo %%i|findstr /lb "%aa%" 后面加上 >nul ,把原来那行的输出重定向到空设备上。
echo %%i|findstr /lb "%aa%" >nul
相似回答