bat在txt文本指定行的头尾插入内容?

2025-03-29 19:12:56
推荐回答(3个)
回答1:

复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行

<# :
cls&echo off&cd /d "%~dp0"
rem 在一个txt文件的第几行/某一行/指定行的开头和末尾添加/插入内容
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$file="xxx.txt";
$findline=32;
$prefix="111";
$suffix="222";
if(-not (test-path -liter $file)){write-host ('"'+$file+'" 未找到');exit;};
$enc=[Text.Encoding]::GetEncoding('GB2312');
$text=[IO.File]::ReadAllLines($file, $enc);
for($i=0;$i -lt $text.count;$i++){
    if(($i+1) -eq $findline){$text[$i]=$prefix+$text[$i]+$suffix;}
}
[IO.File]::WriteAllLines($file, $text, $enc);

回答2:

这么复杂的操作还是用Powershell脚本吧。BAT处理起来挺费劲。

回答3:

BAT处理起来麻烦