返回列表 发帖

[文件操作] 【已解决】文件夹中是否可以批处理建文件夹将前17位相同名称的图片放在一起?

本帖最后由 228630386 于 2024-10-19 11:32 编辑

整个文件夹都是JPG图片,BA003022P010O23ECD.jpg、BA003022P010O23ECF.jpg、BA003022P010O23ECT.jpg、BA003022P010O23ECD.jpg、BA003022P010O23ECE.jpg,能否将前缀17位相同的图片,放在新建文件夹BA003022P010O23EC中,整个文件夹的图片都是这个规率,是否能用批处理操作,多级目前不同的文件夹都可以进行批量合并,不用一个个文件夹进去运行呢?
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

@echo off
cd /d "%~dp0"
set m=17
for /f "delims=" %%d in ('dir /b /s /ad') do (
set f=%%d
set d=%%~nxd
for /f "delims=" %%i in ('2^>nul dir /b /a-d "%%d\*.jpg"') do (
set n=%%~ni.
setlocal enabledelayedexpansion
if "!n:~%m%,1!" neq "" (
if /i "!n:~0,%m%!" neq "!d!" (
md "!f!\!n:~0,%m%!" 2>nul
move "!f!\!n:~0,-1!%%~xi" "!f!\!n:~0,%m%!\"
)
)
endlocal
)
)
pauseCOPY

判断了文件名前17位是否与文件夹名相同,方便多次归入。
bat小白,请多指教!谢谢!

TOP

回复 4# qixiaobin0715


    运行后没有反应。

TOP

回复 3# aloha20200628


    测试了,多级目录也可以实现,非常感谢。

TOP

本帖最后由 qixiaobin0715 于 2024-10-19 09:09 编辑
@echo off
setlocal enabledelayedexpansion
for /f "delims=" %%i in ('dir /b /s /ad^|sort /r') do (
    cd /d "%%i"
    if exist "*.jpg" (
        for %%j in (*.jpg) do (
            set str=%%~nj
            set str=!str:~,17!
            if not exist "!str!" md "!str!"
            move "!str!*.jpg" "!str!\"
        )>nul 2>nul
    )
)
pauseCOPY

TOP

本帖最后由 aloha20200628 于 2024-10-19 11:08 编辑

回复 1# 228630386

先给一个版本
以下代码存为 test.bat 运行,将当前目录下及其各子目录中符合匹配条件(须前缀17个字符相同)的目标文件 *.jpg (忽略单个文件)移入对应的新建子目录中...
@echo off &setlocal &(dir /b/s/ad|sort /r &echo,%cd%)>"all.d"
for /f "delims=" %%d in (all.d) do for %%F in ("%%d\*.jpg") do (
   set "nF=%%~nF" &setlocal enabledelayedexpansion &set "nF17=!nF:~,17!"
   for /f %%n in ('dir /b/a-d "%%d\!nF17!*%%~xF"^|find /c /v "" ') do if %%n gtr 1 (
       md "%%d\!nF17!"
       move /y "%%d\!nF17!*%%~xF" "%%d\!nF17!"
   ) 2>ul
   endlocal
)
del/q "all.d"&endlocal&pause&exit/bCOPY
1

评分人数

TOP

回复 1# 228630386


请把你的“多级目前不同的文件夹”截图出来看看,我试试。

如果需要上传截图,可以找个图床,例如:
http://bbs.bathome.net/thread-60985-1-1.html
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

返回列表