[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 【已解决】批处理实现图片批量依次重名命的问题,求解

本帖最后由 k员外 于 2021-1-7 17:04 编辑

就是一个文件夹下有500个子文件夹,
每个子文件夹里有三个小文件夹和11张图片,
怎么让这11张图片依次重名命为白藏主,御馔津,茨木,酒吞,玉藻前,云外镜,彼岸花,鬼切,不知火,辉夜姬,面灵气.

先测试
  1. @echo off & cd /d "%~dp0"
  2. setlocal enabledelayedexpansion
  3. set "file_name=白藏主 御馔津 茨木 酒吞 玉藻前 云外镜 彼岸花 鬼切 不知火 辉夜姬 面灵气"
  4. for /d %%i in (*) do call :_ren "%%i" %file_name%
  5. pause&exit
  6. :_ren
  7. echo -----------------------------
  8. for %%i in ("%~1\*.jpg") do (
  9. call set "newName=%%2.jpg"
  10. if "!newName!"==".jpg" goto :eof
  11. echo %%i !newName!
  12. rename "%%i" "!newName!"
  13. shift /2
  14. )
复制代码

TOP

我觉得有2点未说清楚:
1.所谓的“依次”,新文件名顺序已经排列,对应的原文件按什么排列?是字母顺序,还是时间顺序?
2.命名的文件是在你所说的子文件夹还是“小文件夹”。

TOP

回复 3# qixiaobin0715


    1.对应的文件是扫描件
2.图片在子文件夹里和小文件夹同级

TOP

回复 3# qixiaobin0715


    你好,对应的顺序是以图片文件的大小排序

TOP

本帖最后由 qixiaobin0715 于 2021-1-5 13:05 编辑

回复 5# k员外
未测试。备份好源文件,小批量测试。忘记是“os”还是“o-s”是从小到大排序了,自己试吧。
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set n=0
  4. set str=白藏主 御馔津 茨木 酒吞 玉藻前 云外镜 彼岸花 鬼切 不知火 辉夜姬 面灵气
  5. for %%a in (!str!) do (
  6.     set /a n+=1
  7.     set _!n!=%%a
  8. )
  9. for /d %%b in (*) do (
  10.     set m=0
  11.     for /f "delims=" %%c in ('dir /b /a-d /os "%%b\*.jpg"') do (
  12.         set /a m+=1
  13.         for %%d in (_!m!) do ren "%%c" "!%%d!%%~xc"
  14.     )
  15. )
  16. pause
复制代码

TOP

回复 5# k员外
文件扩展名错了。已修改。

TOP

回复 7# qixiaobin0715


    好的.谢谢

TOP

返回列表