当我们有时候需要将文件夹内名称变成文件夹名字+图片名称便于后期搜寻资料的时候,手动修改太过于慢,如果是成百上千个效率太低了,可以试试用.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. 如果需要修改后面删除字符数,只需要重新编辑改变下面几处数量即可。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。