吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2102|回复: 12
上一主题 下一主题
收起左侧

[其他原创] 根据图片名称一键新建文件夹并将图片分别移动到文件夹

[复制链接]
跳转到指定楼层
楼主
jeo009 发表于 2025-3-29 16:37 回帖奖励
本帖最后由 苏紫方璇 于 2025-3-31 11:24 编辑

最近做的重复性工作有点多,有用DeepSeek做了两个bat
---------------------------------------------------------------
一:再同一文件夹内根据文件名称批量新建文件夹并分别将图片移动到对应文件夹内(用“_”作为分隔符,分割字符串,取第一部分作为文件夹名)
这个码会报风险,不知道啥原因,有懂的帮忙优化下

[Bash shell] 纯文本查看 复制代码
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

for %%i in (*.jpg) do (
    set "fullname=%%~ni"
    set "folder=!fullname:_= !"
    set "folder=!folder:  = !"
    for /f "tokens=1*" %%a in ("!folder!") do (
        md "%%a" 2>nul
        move "%%i" "%%a\"
    )
)
echo 分类完成,按任意键退出
pause


二:批量替换文件名相同的某一部分  例:同一个文件夹内有以下四个文件[“@@@”psd文件“@@@_画板 1 副本”jpg文件“@@@内包装”psd文件“@@@组合”psd文件]将上面文件名中“@@@”替换为我想要替换的名字

[Bash shell] 纯文本查看 复制代码
@echo off & setlocal enabledelayedexpansion
title 精准文件名替换器 v2025.3.29

:: 配置区
set /p target=■ 输入需替换的局部文字(如"毛囊型"):
set /p newtext=■ 输入新文字(如"护理配方"):

:: 核心替换引擎
set count=0
for %%F in (*.*) do (
    set "name=%%~nF"
    set "ext=%%~xF"
    set "newname=!name:%target%=%newtext%!"

    if not "!newname!"=="!name!" (
        if exist "!newname!!ext!" (
            set "v=1"
            :retry
            set "tempname=!newname!_v!v!!ext!"
            if exist "!tempname!" (
                set /a v+=1
                goto retry
            )
            ren "%%F" "!tempname!"
        ) else (
            ren "%%F" "!newname!!ext!"
        )
        set /a count+=1
        echo 已更新: "%%F" → "!newname!!ext!"
    )
)

:: 操作报告
echo.
echo █ 执行时间:  2025-03-29 14:53
echo █ 修改文件:  %count% 个
echo █ 操作路径:  %cd%
pause


新手第一次发技术性的贴子  自己测试了下效果还不错,分享给大家!!!
不会发图片就文字描述下吧!
附上成品:

https://jeo009.lanzouo.com/b00uz12oji
密码:dfni

免费评分

参与人数 2吾爱币 +3 热心值 +1 收起 理由
苏紫方璇 + 2 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
lgc81034 + 1 谢谢@Thanks!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

推荐
六度 发表于 2025-3-29 20:29
前几天写了一个平均分配图片到文件夹
[Asm] 纯文本查看 复制代码
@echo off
chcp 65001 >nul
setlocal enabledelayedexpansion

:: 获取当前文件夹名称
for %%A in ("%CD%") do set "folder_prefix=%%~nxA"

set count=0
set folder_num=1

:: 处理带特殊字符的文件名
for /f "delims=" %%f in ('dir /b /a-d *.jpg *.png *.gif *.jpeg *.bmp 2^>nul') do (
    if !count! equ 30 (
        set /a folder_num+=1
        set count=0
    )
    
    :: 生成动态目录名(根据当前目录名称)
    set "target_dir=!folder_prefix!!folder_num!"

    :: 创建目录并移动文件
    if not exist "!target_dir!" ( mkdir "!target_dir!" )
    move "%%f" "!target_dir!\" >nul 2>&1

    set /a count+=1
)
endlocal
推荐
苏紫方璇 发表于 2025-3-31 11:21
代码插入可以参考这个帖子
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thread-713042-1-1.html
(出处: 吾爱破解论坛)
4#
一场荒唐半生梦 发表于 2025-3-29 16:50
5#
mryouan 发表于 2025-3-29 19:00
感谢分享
6#
dazebat 发表于 2025-3-29 19:09
用AI写bat脚本必须万分小心……因为涉及到文件操作的语句,很不严谨。不小心就把文件误操作了!我损失了大约10个G的电影……
7#
 楼主| jeo009 发表于 2025-3-29 21:40 |楼主
dazebat 发表于 2025-3-29 19:09
用AI写bat脚本必须万分小心……因为涉及到文件操作的语句,很不严谨。不小心就把文件误操作了!我损失了大 ...

我是测试完之后才发的,一定到新建文件夹测试
8#
 楼主| jeo009 发表于 2025-3-29 21:44 |楼主
六度 发表于 2025-3-29 20:29
前几天写了一个平均分配图片到文件夹
[mw_shl_code=asm,true]@echo off
chcp 65001 >nul

这个也不错,简单的会点能提升不少工作效率
9#
 楼主| jeo009 发表于 2025-3-31 14:30 |楼主
苏紫方璇 发表于 2025-3-31 11:21
代码插入可以参考这个帖子
【公告】发帖代码插入以及添加链接教程(有福利)
https://www.52pojie.cn/thr ...

非常感谢
10#
15959337778 发表于 2025-4-21 18:42
有可以把图片全面生成文件夹吗 现在这个版本中间有数子符号或者空格就不会生成全名
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-4-17 10:20

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表