找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 65039|回复: 16

[文件操作] 批处理如何给文件夹内的图片批量命名

[复制链接]
发表于 2021-2-26 15:25:07 | 显示全部楼层 |阅读模式
比如文件夹名称为AA
文件夹内的图片依次命名为
AA-01.jpg
AA-02.jpg
AA-03.jpg
...


我网上搜的
  1. @echo off
  2. call :loop "%cd%"
  3. for %%a in (*.jpg) do (
  4.    set /a n+=1
  5.    set "str=%%a"
  6.    setlocal enabledelayedexpansion
  7.    ren "!str!" "%var%-!n!%%~xa"
  8.    endlocal
  9. )
  10. pause&exit
  11. :loop
  12. set "var=%~nx1"
复制代码
运行之后发现不是-02而是-2
而且没有-1这张图

请大神指点,在线等,感激不尽!
发表于 2021-2-26 15:56:07 | 显示全部楼层
本帖最后由 qixiaobin0715 于 2021-2-26 16:20 编辑
  1. @echo off
  2. set n=100
  3. setlocal enabledelayedexpansion
  4. for %%i in (*.jpg) do (
  5.     set /a n+=1
  6.     for /d %%a in ("%%~dpi.") do ren "%%i" "%%~na-!n:~1!%%~xi"
  7. )
  8. pause
复制代码
 楼主| 发表于 2021-2-26 15:59:57 | 显示全部楼层
回复 2# qixiaobin0715


    谢谢,但是运行出来的结果,文件夹好像不是存放图片的文件夹,是最外面的母文件夹
发表于 2021-2-26 16:00:11 | 显示全部楼层
  1. @Echo off&SetLocal EnableDelayedExpansion&set n=100
  2. for /d %%i in (*)do for /r %%j in (*.bmp,*.jpg,*.gif,*.png)do set /a n+=1&ren "%%j" "%%~ni-!n:~1!%%~xj"
  3. pause
复制代码
 楼主| 发表于 2021-2-26 16:07:32 | 显示全部楼层
回复 4# smss


    亲,这个运行不成功
发表于 2021-2-26 16:11:47 | 显示全部楼层
批处理保存为ANSI编码 放入需要处理的文件夹下运行
善用搜索http://www.bathome.net/thread-2873-1-1.html
 楼主| 发表于 2021-2-26 16:16:05 | 显示全部楼层
本帖最后由 umenoko 于 2021-2-26 16:20 编辑

回复 6# smss


    不好意思啊我是个小白
楼上那位我复制代码进txt,然后后缀改为bat就能运行了。可是运行出来的文件夹名称是最外面那个母文件夹的名称,不知道原因出在哪里
 楼主| 发表于 2021-2-26 16:20:05 | 显示全部楼层
回复 6# smss


   您给的代码, txt文件是ANSI编码,但是运行不成功
发表于 2021-2-26 16:21:20 | 显示全部楼层
已修改,多了个点
 楼主| 发表于 2021-2-26 16:27:22 | 显示全部楼层
回复 9# qixiaobin0715


    谢谢大神修改,但是运行出来的结果没有-01.jpg的图片,从-02.jpg开始的
发表于 2021-2-26 16:35:52 | 显示全部楼层
我这里测试没问题:
 楼主| 发表于 2021-2-26 17:49:03 | 显示全部楼层
回复 11# qixiaobin0715

第一次运行↑

再次运行↑

我这边好像需要再次运行他才会出来-01.jpg欸,是我操作有什么问题吗?
发表于 2021-2-27 09:39:30 | 显示全部楼层
重命名问题经常会出现【名字重复】修改失败,增加检查重名后又会出现【序号跳过】的状况!

原因是:检查了新名字,没有检查原来的名字。

思路:一、计算文件个数,得到序号范围;
   二、新旧文件名都检查,排除已改好的文件名;
   三、修改其他的文件名。
发表于 2021-2-27 09:45:58 | 显示全部楼层
回复 13# cutebe
有道理
发表于 2021-2-27 09:50:15 | 显示全部楼层
回复 8# umenoko
移动重命名:
  1. @echo off
  2. md newfolder
  3. set n=100
  4. setlocal enabledelayedexpansion
  5. for %%i in (*.jpg) do (
  6.     set /a n+=1
  7.     for /d %%a in ("%%~dpi.") do move "%%i" "newfolder\%%~na-!n:~1!%%~xi"
  8. )
  9. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 13:19 , Processed in 0.022802 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表