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

[文件操作] 以文件夹名称命名jpg文件的bat

[复制链接]
发表于 2021-11-8 21:51:30 | 显示全部楼层 |阅读模式
那个懂bat的大佬帮我写一个bat:
一级文件夹下有很多个二级文件夹,二级文件夹下有很多个三级文件夹,三级文件夹下有很多张图片一般少于100张图片,每张图片是以01.jpg,02.jpg..最后一张是cover是封面
  现在我需要将图片以“三级文件夹的名字+现有图片序号”重命名,而且将最后一张重命名为“三级文件夹的名字+00”变成第一张图片了!
发表于 2021-11-8 22:37:58 | 显示全部楼层
未测试:
  1. @echo off
  2. for /f "delims=" %%a in ('dir /s /b /a-d cover.jpg') do (
  3.     ren "%%a" "00%%~xa"
  4.     for %%i in ("%%~dpa.") do (
  5.         pushd "%%~dpa"
  6.         for /f "delims=" %%j ('dir /b /a-d *.jpg') do ren "%%j" "%%~nxi%%j"
  7.         popd
  8.     )
  9. )
  10. pause
复制代码
发表于 2021-11-9 18:04:56 | 显示全部楼层
本帖最后由 dos大帝 于 2021-11-9 18:08 编辑
  1. @echo off & cd "D:\dos\一级目录"

  2. for /d %%i in (*) do (
  3.         for /d %%j in ("%%i/*") do (
  4.                 pushd "%%i\%%j"
  5.                 for /f "delims=" %%k in ('dir "*.jpg" /b') do if "%%~xk" == ".jpg" (if "%%~nk" == "cover" (ren "%%k" "%%j+00") else (ren "%%k" "%%j+%%k"))
  6.                 popd
  7.         )
  8. )
  9. pause
复制代码
只操作三级目录的jpg文件, 其中隐藏目录或文件不会操作(建议运行之前将第6行的最后两个 ren 用 echo 代替, 先打印看看操作文件对不对)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 23:06 , Processed in 0.029832 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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