不清楚你的实际文件/情况,仅以问题中的样例/说明为据;以下代码复制粘贴到记事本,另存为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 "currentpath=%cd%"
powershell -NoProfile -ExecutionPolicy bypass "[IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312'))|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$addword="相同的文字";
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
$currentpath=get-item -liter $env:currentpath;
$folders=@(dir -liter $currentpath.FullName|?{$_ -is [System.IO.DirectoryInfo]});
for($i=0;$i -lt $folders.length;$i++){
$files=@(dir -liter $folders[$i].FullName -recurse|?{$_ -is [System.IO.FileInfo]});
for($j=0;$j -lt $files.length;$j++){
if(-not $files[$j].BaseName.EndsWith($addword)){
$nname=$files[$j].BaseName+$addword+$files[$j].Extension;
$files[$j].FullName.Substring($currentpath.FullName.length)+$c+$nname;
}
}
}
追问为啥这批处理执行了还是原来的文件名没有变化的,求大神修改下 谢谢了
追答按照运行后窗口标题栏中的提示联系我