返回列表 发帖

[文件操作] 【批处理】子文件夹内文件命名成子文件名

一个大文件里面有多个文件夹,每个文件夹有身份证,户口本等子文件夹,子文件夹里面有.JPG文件,需要将.JPG文件更名成子文件名称加.JPG本身文件夹的名称、如图

@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
for /d %%A in (*) do (
  for /d %%B in ("%%A\*") do (
    set n=1
    for %%C in ("%%B\*.jpg") do (
      set s=00!n!
      set /a n+=1
      echo ren "%%C" "%%~nxA_%%~nxB_!s:~-2!%%~xC"
      ren "%%C" "%%~nxA_%%~nxB_!s:~-2!%%~xC"
    )
  )
)
endlocal
pause
exit /bCOPY
怎么能保证身份证正面图片为01.jpg,反面为02.jpg呢?
微信:flashercs
QQ:49908356

TOP

回复 2# flashercs


节省一个 s 变量
@echo off
setlocal EnableDelayedExpansion
cd /d "%~dp0"
for /d %%A in (*) do (
    for /d %%B in ("%%A\*") do (
        set n=100
        for %%C in ("%%B\*.jpg") do (
            set /a n+=1
            echo ren "%%C" "%%~nxA_%%~nxB_!n:~-2!%%~xC"
            ren "%%C" "%%~nxA_%%~nxB_!n:~-2!%%~xC"
        )
    )
)COPY
1

评分人数

我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

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

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

TOP

返回列表