基于上贴“根据图片名称一键新建文件夹并将图片分别移动到文件夹”增强优化
附上代码:
[Asm] 纯文本查看 复制代码 @echo off
chcp 65001 >nul
setlocal enabledelayedexpansion
:: 支持的文件扩展名列表(用空格分隔)
set "extensions=jpg jpeg png gif webp psd ai txt json py doc docx xls xlsx ppt pptx pdf wps mkv mp4 mov avi wmv wav mp3 flac aac zip rar 7z tar gz"
:: 遍历所有支持的文件
for %%e in (%extensions%) do (
for %%f in (*.%%e) do (
set "filename=%%~nf"
set "folder=!filename:_= !" :: 替换下划线为空格
set "folder=!folder: = !" :: 压缩连续空格
:: 提取第一个空格前的部分作为文件夹名(避免特殊字符问题)
for /f "tokens=1 delims= " %%a in ("!folder!") do (
set "final_folder=%%a"
)
:: 创建文件夹(静默跳过已存在的)
md "!final_folder!" 2>nul
:: 移动文件
move "%%f" "!final_folder!\" >nul
)
)
echo ✅ 文件分类完成!按任意键退出...
pause >nul
1、使用方法
·将脚本文件放入需要整理的文件夹
2、双击运行,脚本会自动:
·遍历所有支持格式的文件
·为每个文件创建同名文件夹(如文件A→创建文件A文件夹)
·移动文件到对应文件夹
2、智能分类逻辑:
·对每个文件,提取原始文件名(不含扩展名)作为文件夹名
·例如:report_2024.docx和report_2024.xlsx会被移动到report文件夹
·自动处理文件名中的下划线“_”和空格(如项目_计划.pdf→项目 计划→下划线“_”和空格为“项目”)
示例效果:
[Asm] 纯文本查看 复制代码 原文件结构:
图片1.jpg
图片1.png
文档.docx
数据.xlsx
运行后结构:
图片1/
├── 图片1.jpg
└── 图片1.png
文档/
└── 文档.docx
数据/
└── 数据.xlsx
![]()
注意事项
文件名特殊字符
如果文件名包含 ! 或 & 等符号,可能需要额外处理(当前脚本已启用延迟扩展,可处理大部分情况)
中文路径
脚本开头 chcp 65001 确保支持中文文件名和路径
子文件夹中的文件
当前脚本仅处理当前目录的文件,不会递归整理子文件夹
覆盖风险
如果目标文件夹已存在同名文件,move 命令会提示覆盖(需手动确认)
成品链接:
https://jeo009.lanzouv.com/it1nJ3kv86va密码:718s |