
如何用bat脚本改文件名字?
某个目录下有若干个数据文件,比如ABCXXXDEF.DOCABCYYYDEF.DOCABCZZZDEF.DOC如何用bat脚本改文件名字,把ABCXXXDEF.DOC,其...
某个目录下有若干个数据文件,比如
ABCXXXDEF.DOC
ABCYYYDEF.DOC
ABCZZZDEF.DOC
如何用bat脚本改文件名字,把 ABCXXXDEF.DOC,
其中包含XXX的文件名,改成 1-ABCXXXDEF.DOC, 这样
ABCXXXDEF.DOC 改成 1-ABCXXXDEF.DOC
ABCYYYDEF.DOC 改成 2-ABCYYYDEF.DOC
ABCZZZDEF.DOC 改成 3-ABCZZZDEF.DOC
请高手帮帮忙,谢谢 展开
ABCXXXDEF.DOC
ABCYYYDEF.DOC
ABCZZZDEF.DOC
如何用bat脚本改文件名字,把 ABCXXXDEF.DOC,
其中包含XXX的文件名,改成 1-ABCXXXDEF.DOC, 这样
ABCXXXDEF.DOC 改成 1-ABCXXXDEF.DOC
ABCYYYDEF.DOC 改成 2-ABCYYYDEF.DOC
ABCZZZDEF.DOC 改成 3-ABCZZZDEF.DOC
请高手帮帮忙,谢谢 展开
2个回答
展开全部
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行
<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 给当前目录里文件名称中包含有不同指定关键字字符串的文件添加不同名称前缀字符
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$relation=@"
XXX|1-
YYY|2-
ZZZ|3-
"@;
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -literal $env:self;
$current=$self.Directory.FullName;
$arr=$relation.trim() -split '[\r\n]+';
$files=@(dir -literal $current|?{($self.Name -ne $_.Name) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
$base=$files[$i].BaseName.ToLower();
for($j=0;$j -lt $arr.length;$j++){
$brr=$arr[$j].split('|');
if($base.Contains($brr[0].ToLower())){
$files[$i].Name+$c+$brr[1]+$files[$i].Name;
break;
}
}
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询