小白一个求问怎么将子文件所有图片的名字重命名为主文件夹的名字
bat吧
全部回复
仅看楼主
level 2
嘉钰麻 楼主
求问怎么将子文件所有图片的名字重命名为主文件夹的名字 比如主文件名叫百度 里面很多图片 命名为百度1 百度2 这种 求救命 1000多个文件 我表示好难
2021年07月08日 08点07分 1
level 2
嘉钰麻 楼主
@璐村惂鐢ㄦ埛_000076K馃惥 off&SETLOCAL ENABLEDELAYEDEXPANSION
for /f "tokens=*" %%a in ('dir /b/ad') do (
cd %%a
set n=100
for /f "tokens=*" %%b in ('dir /b/a-d') do (
set /a n+=1
ren "%%b" "%%a!n:~1!%%~xb"
)
cd..
)
用的这个 但是它复制了图片并新命名了图片 之前的那个原本的图还是在
2021年07月08日 08点07分 2
level 9
不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
<# :
cls&echo off&mode con lines=5000
rem 将当前目录下多个子文件夹里的文件以所在的文件夹名称和递增数字序号重命名
set #=Any question&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::GetEncoding('GB2312')))) -Args '%~f0'"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
[byte[]]$b=@(32,45,45,62,32);
$c=[Text.Encoding]::Default.GetString($b);
$self=get-item -liter $args[0];
$path=$self.Directory.FullName;
$folders=@(dir -liter $path|?{$_ -is [System.IO.DirectoryInfo]});
for($i=0;$i -lt $folders.length;$i++){
$files=@(dir -liter $folders[$i].FullName|?{$_ -is [System.IO.FileInfo]});
if($files.length -ge 1){
write-host $folders[$i].FullName -ForegroundColor yellow;
for($j=0;$j -lt $files.length;$j++){
$files[$j].Name+$c+$folders[$i].Name+($j+1).toString()+$files[$j].Extension;
}
}
}
2021年07月08日 13点07分 4
谢谢
2022年06月15日 06点06分
1