不清楚你的实际文件/情况,仅以问题中的样例/说明为据
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行<# :
cls
@echo off
rem 将一个指定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]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];
$txtfile=$path+'yourfile.txt';
if(-not (test-path -liter $txtfile)){Write-host ('"'+$txtfile+'" not found');exit;};
$enc=[Text.Encoding]::Default;
[System.Collections.ArrayList]$s=@();
$text=[IO.File]::ReadAllLines($txtfile, $enc);
for($i=0;$i -lt $text.count;$i++){
$m=[regex]::match($text[$i], '^(.+?)(,)([^=]+?)(=)(.*)$');
$line=$text[$i];
if($m.Success){
$line=$m.groups[1].value+$m.groups[4].value+$m.groups[3].value+$m.groups[2].value+$m.groups[5].value;
};
[void]$s.add($line);
write-host $line;
}
追问不好意思回复晚了,之前忙着工作,一时半会忘了,您的代码我测试了,确实互换了逗号和等号,但原文件没修改,请问怎样将cmd上的结果生成新txt保存呢?
追答按运行后窗口标题栏中的提示联系我
本回答被网友采纳