当我们有时候需要将文件夹内名称变成文件夹名字+图片名称便于后期搜寻资料的时候,手动修改太过于慢,如果是成百上千个效率太低了,可以试试用.bat实现自动化。
1. 然后将记事本重命名。
2. 然后将记事本重命名。
3. 双击鼠标“复制”如下代码,点击编辑刚刚创建的记事本文件,并将代码粘贴进记事本文件。
@echo off >nul 2>&1 setlocal enabledelayedexpansion :: 设置当前目录(可手动修改为你的目标文件夹) set "targetFolder=%cd%" echo 正在处理文件夹: "%targetFolder%" :: 支持的图片扩展名 set "extensions=.jpg .jpeg .png .gif .bmp .tiff .webp .heic .avif" :: 获取当前文件夹名 for %%A in ("%targetFolder%") do set "folderName=%%~nxA" echo 文件夹名: !folderName! echo. :: 遍历并重命名图片 for %%F in ("%targetFolder%\*") do ( set "file=%%~nF" set "ext=%%~xF" :: 检查是否是图片 echo !extensions! | find /i "!ext!" >nul if !errorlevel! equ 0 ( :: 检查文件名长度是否足够 set "nameLength=0" for /l %%N in (0,1,100) do if not "!file:~%%N,1!"=="" set /a "nameLength+=1" if !nameLength! gtr 3 ( :: 删除最后3个字符 set "newName=!folderName!-!file:~0,-3!!ext!" :: 避免覆盖已存在的文件 if not exist "!newName!" ( ren "%%F" "!newName!" echo 成功: "%%~nxF" → "!newName!" ) else ( echo 跳过: "!newName!"(已存在) ) ) else ( echo 跳过: "%%~nxF"(文件名太短,不足3字符) ) ) ) echo. echo 所有图片处理完成! pause
4. 另存为文件,编码必须ANSI。
5. 测试代码是否可行,以后只需要把代码文件拖入需要执行文件夹点击执行一次即可。
6. 如果需要修改后面删除字符数,只需要重新编辑改变下面几处数量即可。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。
评论(0)