Board logo

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

作者: k员外    时间: 2021-1-4 17:34     标题: 【已解决】批处理实现图片批量依次重名命的问题,求解

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

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

先测试
  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. )
复制代码

作者: qixiaobin0715    时间: 2021-1-4 20:39

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

回复 3# qixiaobin0715


    1.对应的文件是扫描件
2.图片在子文件夹里和小文件夹同级
作者: k员外    时间: 2021-1-5 11:00

回复 3# qixiaobin0715


    你好,对应的顺序是以图片文件的大小排序
作者: qixiaobin0715    时间: 2021-1-5 12:14

本帖最后由 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
复制代码

作者: qixiaobin0715    时间: 2021-1-5 13:06

回复 5# k员外
文件扩展名错了。已修改。
作者: k员外    时间: 2021-1-7 17:00

回复 7# qixiaobin0715


    好的.谢谢




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2