当我们有时候需要将文件夹内名称变成文件夹名字+图片名称便于后期搜寻资料的时候,手动修改太过于慢,如果是成百上千个效率太低了,可以试试用.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)