发布网友 发布时间:2022-04-25 00:08
共1个回答
热心网友 时间:2023-10-17 00:18
不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls&echo off&mode con lines=5000
rem 将一个txt文本文件里指定特征字符串的部分内容替换成另一个txt文本文件里的随机一行
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))))"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$txtfile1="a.txt";
$txtfile2="b.txt";
if(-not (test-path -liter $txtfile1)){write-host ('"'+$txtfile1+'" 未找到');exit;};
if(-not (test-path -liter $txtfile2)){write-host ('"'+$txtfile2+'" 未找到');exit;};
$enc=[Text.Encoding]::GetEncoding('GB2312');
$text1=[IO.File]::ReadAllText($txtfile1,$enc);
$text2=[IO.File]::ReadAllLines($txtfile2,$enc);
[regex]::replace($text1,"(text=)''.*?''",{
param($m);
$r=get-random -input $text2 -count 1;
$m.groups[1].value+"''"+$r+"''";
});追问可以了~ 十分感谢。 最后任意键没有保存 需要怎样操作呢