50分!如何批量重命名照片为拍摄时间后加序号?最好是用批处理。

在不同盘下不同文件夹下有许多照片。有许多是重名的。现在想让这些文件重命名为照片拍摄日期外加照片两字,然后是序号。请问怎么实现?批处理最好,不行的话就是插件或工具,请给个下载地址。
例:原文件 名 照片256 -----20110601照片1

图片批量重命名有编号的方法:

步骤1,先下载工具软件安装并打开,点击两个“添加文件”中的任意一个,将需要重命名的图片全部导入到软件中,可以导入不同文件夹中的图片。

步骤2,然后进行设置,命名方式选择自定义(如果你有其他需求,也可以选择替换或插入);然后输入新文件的命名;最后进行编号设置:起始代表第一个编号、增量代表后一位编号增加的数值、位数代表编号几位的意思(如“01”的位数是2)。在右边可以预览到新的文件名,方便我们及时调整。

步骤3,全部设置好后就可以点击【开始重命名】启动软件程序了,完成批量重命名后会弹出成功的提示框。

步骤4,查看案例修改的图片文件名可以看到,批量命名后的图片名整齐规范有编号,并且没有括号。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-06-27
一个很简单的方法:选中所有的图片,然后点右键-重命名,就会出现一个图片的重命名,然后根据你的需要的命名如:20110627照片 (1),注意中间加个空格,(也可以不加,不过其他文件都会有空格)这样你所有的图片的名称只会有后面括号中数字的差异。希望对你有帮助。
第2个回答  2022-06-26

不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的文件放一起双击运行

<# :
cls&echo off&cd /d "%~dp0"&mode con lines=5000
rem 获取当前目录里多个jpg图片文件的拍摄日期来重命名
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
#>
$b=[Convert]::FromBase64String("IC0tPiA=");
$c=[Text.Encoding]::Default.GetString($b);
Add-Type -AssemblyName 'System.drawing';
$current=$env:current;
$files=@(dir -literal $current|?{(@(".jpg",".jpeg") -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
$n=0;for($i=0;$i -lt $files.length;$i++){
    $dt='';
    $img=[System.Drawing.Image]::FromFile($files[$i].FullName);
    foreach($it in $img.PropertyItems){
        if($it.Id -eq 0x9003){
            $dt=[System.Text.Encoding]::ASCII.GetString($it.Value) -replace '\x00$','';
            break;
        }
    }
    $img.Dispose();
    if($dt -ne ''){
        $n++;
        $newname=($dt -split '\s+')[0].replace(':','')+'照片'+$n.ToString()+$files[$i].Extension;
        $files[$i].Name+$c+$newname;
    }
}

第3个回答  2011-06-26
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION 2>&3 3>nul
set /a n=10000
for /r %%a in (*.jpg *.bmp *.jpeg) do (
set "date=%%~ta"
set "date=!date:~0,10!"
set /a n+=1
ren "%%~fa" "%%~dpa!date!照片!n:~-4!%%~xa"
)追问

运行了一下,没反应?很怪了。

追答

必须放在照片目录,子目录也会被重命名,我修改一下,ren 带上了路径,出错了。
@ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
set /a n=10000
for /r %%a in (*.jpg *.bmp *.jpeg) do (
set "date=%%~ta"
set "date=!date:~0,10!"
set "date=!date:-=!"
set /a n+=1
ren "%%~fa" "!date!照片!n:~-4!%%~xa"
)

本回答被提问者采纳
第4个回答  2011-06-26
可以使用国产压缩软件好压的批量重命名功能试试,还可以用Bulk Rename Utility(文件批量命名)超强大,很容易上手。
相似回答