怎么样用vbs或者bat自动修改文件名?
发布网友
发布时间:2022-05-29 21:00
我来回答
共1个回答
热心网友
时间:2023-11-27 09:46
不清楚你的实际文件/情况,仅以问题中的样例/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI
<# :
cls&echo off&cd /d "%~dp0"
rem 从原文件名称开头截取16进制字符并进行计算,结果作为新的文件名称
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$oldfile="d:\test\0C96CD9EF91B_PASS.txt";
$oldname=[System.IO.Path]::GetFileName($oldfile);
$newname=[regex]::replace($oldname, '(?i)^[a-f0-9]+', {
param($m);$v=$m.groups[0].value;$len='X'+$v.length.ToString();
$n=[Convert]::ToInt64($v, 16)-1;
$n.ToString($len);
});
$newfile=[System.IO.Path]::GetDirectoryName($oldfile)+'\'+$newname;
$oldfile+$c+$newname;