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

[文件操作] BAT提取文件夹内所有文件夹内的图片

[复制链接]
发表于 2021-5-21 13:50:43 | 显示全部楼层 |阅读模式
一个文件夹内 有100个文件夹,每个文件夹中有若干图片,想把图片全部提取出来按顺序排列
发表于 2021-5-21 16:43:47 | 显示全部楼层
forfiles 命令, for 命令, dir, MOVE 组合,应该都可以,  可以自学一下
发表于 2021-5-21 21:46:52 | 显示全部楼层
回复 2# kangkangsz


    他要代码
发表于 2021-5-21 22:14:23 | 显示全部楼层
回复 1# 朱科技


    按什么顺序排列?
发表于 2021-5-22 09:45:14 | 显示全部楼层
回复 4# Batcher


    顺序!就是Windows的字母排序,像这样:
16435.txt
a2ca.txt
您好.txt
 楼主| 发表于 2021-5-22 12:50:37 | 显示全部楼层
回复 4# Batcher


    从第一个文件夹提取,接着提取第二个,第三个…………
 楼主| 发表于 2021-5-22 12:51:20 | 显示全部楼层
回复 4# Batcher

按文件名排序
发表于 2021-5-22 13:24:54 | 显示全部楼层
回复 7# 朱科技


    那就是Windows的默认排序咯
发表于 2021-5-22 13:25:38 | 显示全部楼层
回复 7# 朱科技


    这和直接移动有什么区别?
发表于 2021-5-22 13:53:31 | 显示全部楼层
  1. echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in ('dir /b /ad /s *') do (
  3.     pushd %%i&set Num=1001&echo 进入 %%i
  4.     for /f "delims=" %%j in ('"dir /b/a-d/on *.jpg *.jpeg *.png"') do (
  5.         if !Num! LSS 1000 (ren "%%j" "!Num:~-3!%%~xj") else ren "%%j" "!Num:~-3!%%~xj"
  6.         echo %%j 重命名为 !Num:~-3!%%~xj&set /a Num+=1
  7.     )
  8.     popd
  9. )
  10. pause
复制代码
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "tokens=*" %%i in ('dir/s/b/ad *') do (
  3.     pushd %%i&set Num=1&echo 进入 %%i
  4.     for /f "delims=" %%j in ('dir /b/a-d/oN "*.jpg"') do (
  5.         if !Num! LSS 1000 (ren "%%j" "!Num!%%~xj") else ren "%%j" "!Num!%%~xj"
  6.         echo %%j 重命名为 !Num!%%~xj&set /a Num+=1
  7.     )
  8.     popd
  9. )
  10. pause
复制代码
发表于 2021-5-22 13:54:38 | 显示全部楼层
以上非提取排列分组,而是直接重命名
 楼主| 发表于 2021-5-22 15:15:53 | 显示全部楼层
回复 10# xp3000


    同样也感谢
发表于 2021-5-22 15:55:35 | 显示全部楼层
本帖最后由 smss 于 2021-5-22 16:00 编辑
  1. @Echo off&SetLocal EnableDelayedExpansion&set n=0
  2. for /r %%i in (*.bmp,*.jpg,*.gif,*.png,*.ico)do set/a n+=1&ren "%%i" "!n!%%~xi"&move "%%~dpi!n!%%~xi" "%~dp0"
  3. echo 批量重命名移动完成!
  4. pause
复制代码
图片有时间字母等顺序
如果只是字母顺序只需要移动就好了 但此时就会有重名问题
发表于 2021-5-22 17:30:06 | 显示全部楼层
回复 13# smss


    可以用if检测一下
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 17:33 , Processed in 0.033214 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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