Board logo

标题: [文件操作] 【批处理】子文件夹内文件命名成子文件名 [打印本页]

作者: 411002525    时间: 2020-5-29 15:34     标题: 【批处理】子文件夹内文件命名成子文件名

一个大文件里面有多个文件夹,每个文件夹有身份证,户口本等子文件夹,子文件夹里面有.JPG文件,需要将.JPG文件更名成子文件名称加.JPG本身文件夹的名称、如图
作者: flashercs    时间: 2020-5-29 17:20

  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. for /d %%A in (*) do (
  5.   for /d %%B in ("%%A\*") do (
  6.     set n=1
  7.     for %%C in ("%%B\*.jpg") do (
  8.       set s=00!n!
  9.       set /a n+=1
  10.       echo ren "%%C" "%%~nxA_%%~nxB_!s:~-2!%%~xC"
  11.       ren "%%C" "%%~nxA_%%~nxB_!s:~-2!%%~xC"
  12.     )
  13.   )
  14. )
  15. endlocal
  16. pause
  17. exit /b
复制代码
怎么能保证身份证正面图片为01.jpg,反面为02.jpg呢?
作者: Batcher    时间: 2020-5-30 00:11

回复 2# flashercs


节省一个 s 变量
  1. @echo off
  2. setlocal EnableDelayedExpansion
  3. cd /d "%~dp0"
  4. for /d %%A in (*) do (
  5.     for /d %%B in ("%%A\*") do (
  6.         set n=100
  7.         for %%C in ("%%B\*.jpg") do (
  8.             set /a n+=1
  9.             echo ren "%%C" "%%~nxA_%%~nxB_!n:~-2!%%~xC"
  10.             ren "%%C" "%%~nxA_%%~nxB_!n:~-2!%%~xC"
  11.         )
  12.     )
  13. )
复制代码

作者: smss    时间: 2020-5-30 01:56

本帖最后由 smss 于 2020-5-30 02:05 编辑

同你之前帖子合并 以下脚本保存为ANSI编码执行 查询JPG所在文件夹 并改文件夹名为”户籍”  重命名A\X\Y\户籍\*.jpg为A\X\Y\户籍\Y_户籍_01.jpg等
一个帖子把问题描述清楚 不要挤牙膏
  1. @echo off&setlocal enabledelayedexpansion&set n=0
  2. for /f "delims=" %%i in ('dir /b/s "*.jpg"') do ren "%%~dpi" 户籍
  3. for /f "delims=" %%i in ('dir /b/s "*.jpg"') do (set "p=%%~dpi"&cd/d "!p!..\.."&set /a n+=1&call set "pf=%%p:!cd!\=%%"
  4. if !n! lss 10 (ren %%i "!pf:\=_!0!n!%%~xi")else ren %%i "!pf:\=_!!n!%%~xi")
  5. echo 重命名完毕&pause
复制代码





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