找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: wqj

[文件操作] 【已解决】BAT代码怎么写,批量放置每4张图片到顺序文件夹?

[复制链接]
 楼主| 发表于 2023-12-10 20:48:35 | 显示全部楼层
已解决,感谢大神帮助!
 楼主| 发表于 2023-12-10 21:36:42 | 显示全部楼层
回复 15# ShowCode


    拜谢大神!
 楼主| 发表于 2023-12-12 09:17:22 | 显示全部楼层
本帖最后由 wqj 于 2023-12-12 10:07 编辑

回复 11# ShowCode


    大神麻烦再请教一下?文件名换成这样,您写的代码怎么修改!
新0001.jpg
新0002.jpg
新0003.jpg
新0004.jpg
新0025.jpg
新0029.jpg
新0058.jpg
新0112.jpg
新0113.jpg
新0116.jpg
文件名始终保留4位数字
@echo off
cd /d "%~dp0"
setlocal enabledelayedexpansion
set "MaxNum=2"
for /l %%i in (1,1,10) do (
    md "%%i" 2>nul
    set "FileNum=0"
    for /l %%j in (1,1,100) do (
        if !FileNum! lss !MaxNum! (
            if exist "新 (%%j).jpg" (
                move "新 (%%j).jpg" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).jpeg" (
                move "新 (%%j).jpeg" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).png" (
                move "新 (%%j).png" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).bmp" (
                move "新 (%%j).bmp" "%%i\"
                set /a FileNum+=1
            )
        )
    )
)
发表于 2023-12-12 09:40:35 | 显示全部楼层
回复 18# wqj


    请按照2楼的步骤操作
 楼主| 发表于 2023-12-12 10:09:31 | 显示全部楼层
回复 9# ShowCode


       大神麻烦再请教一下?文件名换成这样,您写的代码怎么修改!
新0001.jpg
新0002.jpg
新0003.jpg
新0004.jpg
新0025.jpg
新0029.jpg
新0058.jpg
新0112.jpg
新0113.jpg
新0116.jpg
文件名始终保留4位数字
@echo off
cd /d "%~dp0"
setlocal enabledelayedexpansion
set "MaxNum=2"
for /l %%i in (1,1,10) do (
    md "%%i" 2>nul
    set "FileNum=0"
    for /l %%j in (1,1,100) do (
        if !FileNum! lss !MaxNum! (
            if exist "新 (%%j).jpg" (
                move "新 (%%j).jpg" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).jpeg" (
                move "新 (%%j).jpeg" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).png" (
                move "新 (%%j).png" "%%i\"
                set /a FileNum+=1
            ) else if exist "新 (%%j).bmp" (
                move "新 (%%j).bmp" "%%i\"
                set /a FileNum+=1
            )
        )
    )
)
发表于 2023-12-12 10:23:43 | 显示全部楼层
回复 20# wqj


我写的代码不需要你重复的发出来。因为这对于我理解你的需求没有任何帮助。
我只需要知道需求是怎样。哪里的文件名换成这样?移动之前还是移动之后?
文字加截图描述清楚你的需求就够了。
具体步骤请看2楼。
 楼主| 发表于 2023-12-12 10:42:11 | 显示全部楼层
本帖最后由 wqj 于 2023-12-12 10:44 编辑

回复 20# wqj


    将类似于代码中这样的文件名 "新 (%%j).jpg"更换成下面这样
新0001.jpg
新0002.jpg
新0003.jpg
新0004.jpg
新0025.jpg
新0029.jpg
新0058.jpg
新0112.jpg
新0113.jpg
最小的文件名编号 新0001.jpg   最大的文件名编号 新0999.jpg   共上千张图片,每两个放一个文件夹,怎么在文件名序号前加0不会修改,没表述清楚,抱歉!
 楼主| 发表于 2023-12-12 10:45:35 | 显示全部楼层
回复 21# ShowCode


  将类似于代码中这样的文件名 "新 (%%j).jpg"更换成下面这样
新0001.jpg
新0002.jpg
新0003.jpg
新0004.jpg
新0025.jpg
新0029.jpg
新0058.jpg
新0112.jpg
新0113.jpg
最小的文件名编号 新0001.jpg   最大的文件名编号 新0999.jpg   共上千张图片,每两个放一个文件夹,怎么在文件名序号前加0不会修改,没表述清楚,抱歉!
发表于 2023-12-12 11:15:47 | 显示全部楼层
回复 23# wqj
  1. @echo off
  2. cd /d "%~dp0"
  3. setlocal enabledelayedexpansion
  4. set "MaxNum=2"
  5. for /l %%i in (1,1,10) do (
  6.     md "%%i" 2>nul
  7.     set "FileNum=0"
  8.     for /l %%j in (10001,1,10999) do (
  9.         set "FileSeq=%%j"
  10.         set "FileSeq=!FileSeq:~-4!"
  11.         if !FileNum! lss !MaxNum! (
  12.             if exist "新!FileSeq!.jpg" (
  13.                 move "新!FileSeq!.jpg" "%%i"
  14.                 set /a FileNum+=1
  15.             ) else if exist "新!FileSeq!.jpeg" (
  16.                 move "新!FileSeq!.jpeg" "%%i"
  17.                 set /a FileNum+=1
  18.             ) else if exist "新!FileSeq!.png" (
  19.                 move "新!FileSeq!.png" "%%i"
  20.                 set /a FileNum+=1
  21.             ) else if exist "新!FileSeq!.bmp" (
  22.                 move "新!FileSeq!.bmp" "%%i"
  23.                 set /a FileNum+=1
  24.             )
  25.         )
  26.     )
  27. )
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2023-12-12 12:43:54 | 显示全部楼层
回复 24# ShowCode


    完美实现,对大神五体投地拜谢!
 楼主| 发表于 2024-3-19 20:11:32 | 显示全部楼层
回复 24# ShowCode


    大神,上述代码,如果文件夹已经存在,怎么修改代码? 拜谢!
发表于 2024-3-20 21:54:21 | 显示全部楼层
回复 26# wqj


    哪个文件夹已经存在?那种情况下24楼的代码结果和你希望的结果有什么差异?
 楼主| 发表于 2024-3-21 13:22:57 | 显示全部楼层
本帖最后由 wqj 于 2024-3-21 13:57 编辑

回复 26# wqj
 楼主| 发表于 2024-3-21 13:56:43 | 显示全部楼层
回复 27# ShowCode


    大神! 24楼的代码,如果不用新建文件夹,就是文件夹已经存在,仍然两张照片放一个文件夹,怎么修改代码? 拜谢!
发表于 2024-3-21 16:15:52 | 显示全部楼层
回复 29# wqj
表述不清楚,要靠猜。是这样吗:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  4.     set /a m+=1
  5.     set /a "n=(m-1)/2+1"
  6.     move "%%i" "!n!"
  7. )
  8. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 04:48 , Processed in 0.022309 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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