@echo off
setlocal enabledelayedexpansion
REM 设置文件夹路径(顶层文件路径,该文件下有ABCDEF....文件夹,每个文件夹下有两张图片)如果是鼠标右键赋值的路径记得把双引号去掉
set "folder_path=你的文件夹路径"
REM 定义支持的图片格式(根据具体情况修改)
set "extensions=jpg png bmp"
REM 遍历所有文件夹
for /d %%F in ("%folder_path%\*") do (
set "folder_name=%%~nxF"
set "count=1"
REM 遍历文件夹中的所有支持的图片文件
for %%E in (%extensions%) do (
for %%I in ("%%F\*.%%E") do (
REM 重命名图片文件
ren "%%I" "!folder_name!!count!%%~xI"
set /a count+=1
)
)
)
echo 重命名完成
pause
解释- @echo off:
- 关闭命令回显,避免在执行脚本时显示每一行命令。
- setlocal enabledelayedexpansion:
- 启用延迟变量扩展,允许在循环中使用 !variable! 语法来访问变量的值。
- set "folder_path=你的文件夹路径":
- 设置包含所有文件夹的主目录路径。请将 你的文件夹路径 替换为实际路径。
- set "extensions=jpg png bmp":
- 定义支持的图片文件格式,可以根据需要添加或删除格式。
- for /d %%F in ("%folder_path%*") do (:
- 遍历主目录中的所有子文件夹。%%F 代表每个子文件夹的路径。
- set "folder_name=%%~nxF":
- 获取当前子文件夹的名称并存储在 folder_name 变量中。%%~nxF 提取文件夹名称。
- 初始化计数器 count,用于生成新的文件名。
- for %%E in (%extensions%) do (:
- 遍历定义的所有图片文件格式。%%E 代表每种图片格式。
- for %%I in ("%%F*.%%E") do (:
- 遍历当前子文件夹中的所有指定格式的图片文件。%%I 代表每个图片文件的路径。
- ren "%%I" "!folder_name!!count!%%~xI":
- 重命名图片文件。%%I 是原始文件路径,!folder_name!!count!%%~xI 是新的文件名,其中 %%~xI 提取文件扩展名。
- 递增计数器 count,以便下一个文件名正确编号。
- 输出重命名完成的消息。
- 暂停脚本执行,等待用户按键继续。
这个脚本会遍历每个子文件夹,并将其中的图片文件分别重命名为 A1.jpg、A2.png,B1.bmp,以此类推。
|