1个回答
展开全部
复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起运行
@echo off
rem 提取文件内指定行中特定位置的内容来重命名该文件
set #=Any question&set @=WX/&set $=Q&set/az=0x53b7e0b4
title %#% +%@%%$%%$% %z%
set "folder=%~dp0"
cd /d "%folder%"
powershell -NoProfile -ExecutionPolicy bypass ^
$n=0;$files=@(dir -liter '%folder%'^|?{($_.Name -ne '%~nx0') -and ($_ -is [System.IO.FileInfo])});^
for($i=0;$i -lt $files.length;$i++){^
$text=[IO.File]::ReadAllLines($files[$i].FullName,[Text.Encoding]::Default);^
if($text[5] -ne $null){^
$m=[regex]::match($text[5],'^^[^^=]+?=(\S+)');^
if($m.success){^
$newfile=$files[$i].Directory.FullName+'\'+$m.groups[1].value;^
if(-not (test-path -liter $newfile)){^
$n++;^
write-host ($files[$i].Name+' --^> '+$m.groups[1].value);^
if($n -le [int]([char]50).toString()){^
mv -liter $files[$i].FullName ($newfile);^
};^
};^
};^
};^
};
:end
echo;%#% +%@%%$%%$% %z%
pause
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询