不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘渣缓贴到记事本,另存为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 "current=%cd%"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo%#% +%$%%$%/%_% %z%
pause
exit
#>
$current=$env:current
$folders=@(dir -literal $current|?{$_ -is [System.IO.DirectoryInfo]})
for($i=0$i -lt $folders.length$i++){
$files=@(dir -literal $folders[$i].FullName|?{$_ -is [System.IO.FileInfo]})
for($j=0$j -lt $files.length$j++){
$newfile=$files[$j].Directory.FullName+'\#'+$files[$j].Name
move-item -literal $files[$j].FullName $newfile -force -ErrorAction SilentlyContinue
}
for($j=0$j -lt $files.length$j++){
$oldfile=$files[$j].Directory.FullName+'\#'+$files[$j].Name
$newname=$folders[$i].Name+$files[$j].Extension
$newfile=$files[$j].Directory.FullName+'\'+$newname
$n=2
while(test-path -literal $newfile){
$newname=$folders[$i].Name+' ('+$n.ToString()+')'+$files[$j].Extension
$newfile=$files[$j].Directory.FullName+'\'+$newname
$n++
}
如前模 write-host ($files[$j].FullName.replace($current,'')+' --> '+$newname)
move-item -literal $oldfile $newfile -force -ErrorAction SilentlyContinue
}
}
文件批量重命名的方法,可以实现你的要求:
步骤1,电脑下载优速文件批量重命名软件后困派双击安装打开,点击软件中间的大方框或者【添加文件】按钮,将需要修改名称的文件全部添加到软件中。
步骤2,随后在软件左边进行设置,命名方式选择“自定义”方式;然后在下一栏输入新的文件名;最后在消尺陵下面进行编号(排序)设置,起始是第一个排序编号,增量是后一个编号增量的量,位数设置排序编号一共几位数(不够的话用0凑)。右边可以随时预览到新文件的名称。
步骤3,如果预览拿戚的新文件名没有问题,就点击【开始重命名】按钮启动批量修改程序。单d出【重命名成功】的按钮,说明批处理完成。
步骤4,查看修改后的文件可以看到,新的文件名比之前更加的规范整齐,并且有数字排序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)