bat批量重命名文件(在子文件夹里的同一个文件夹下按1.jpg 1_1.jpg)
比如:a/b/c/1_455.jpg;a/b/c/1_334.jpg;a/b/d/ddd.jpga/b/d/eee.jpga/b/d/fff.jpg改成a/b/c/1.j...
比如:
a/b/c/1_455.jpg;
a/b/c/1_334.jpg;
a/b/d/ddd.jpg
a/b/d/eee.jpg
a/b/d/fff.jpg
改成
a/b/c/1.jpg;
a/b/c/1_1.jpg;
a/b/d/1.jpg
a/b/d/1_1.jpg
a/b/d/1_2.jpg
(同一个子文件夹里面 谁当1.jpg 都可以 让 同一个文件夹 其余的按 1_1.jpg 1_2.jpg)
有人给
@echo off & setlocal enabledelayedexpansionset "foldername=a"set /a num=10000rem foldername设置文件夹名称pushd "!foldername!" || goto :eof(for /f "tokens=* delims=" %%i in ('dir /s /b /a-d /on *.jpg *.png') do ( set /a num+=1 ren "%%i" "!num!.jpg" && echo !num! %%~nxi "%%~fi"))>"%~dp0bat.log"echo 批量重命名完成!pause
但是要怎么修改才能满足我那样呢? 展开
a/b/c/1_455.jpg;
a/b/c/1_334.jpg;
a/b/d/ddd.jpg
a/b/d/eee.jpg
a/b/d/fff.jpg
改成
a/b/c/1.jpg;
a/b/c/1_1.jpg;
a/b/d/1.jpg
a/b/d/1_1.jpg
a/b/d/1_2.jpg
(同一个子文件夹里面 谁当1.jpg 都可以 让 同一个文件夹 其余的按 1_1.jpg 1_2.jpg)
有人给
@echo off & setlocal enabledelayedexpansionset "foldername=a"set /a num=10000rem foldername设置文件夹名称pushd "!foldername!" || goto :eof(for /f "tokens=* delims=" %%i in ('dir /s /b /a-d /on *.jpg *.png') do ( set /a num+=1 ren "%%i" "!num!.jpg" && echo !num! %%~nxi "%%~fi"))>"%~dp0bat.log"echo 批量重命名完成!pause
但是要怎么修改才能满足我那样呢? 展开
1个回答
展开全部
@echo off&setlocal enabledelayedexpansion将此批处理放在要修改的顶层文件夹下,会修改所有子文件夹
for /r %%a in (*.jpg) do (
if not exist "%%~dpa1.jpg" ( ren "%%a" 1.jpg ) else (
call :rjpg "%%a"
)
)
goto :eof
:rjpg
set n=0
set "folder=%~dp1"
set "name=%~1"
:loop
set /a n+=1
if not exist "%folder%1_!n!.jpg" ( ren "%name%" 1_!n!.jpg ) else goto :loop
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询