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

文件夹中的图片移动求助(已解决)

本帖最后由 2652boy 于 2023-6-7 13:33 编辑

具体报酬:30元
支付方式:支付宝
联系方式:QQ  2652993952
有效期限:2023年6月10日之前。
文件夹  D:1953/民事庭/2068/正卷   中的jpg文件,每10页创建一个文件夹,并把图片移动到文件夹中
效果 D:1953/民事庭/2068/正卷/1    (1-10页)
         D:1953/民事庭/2068/正卷/2       (11-20页)
         D:1953/民事庭/2068/正卷/3       (21-25页)

主文件夹下,查找“正卷”文件夹:
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%a in ('dir /b /s /ad 正卷) do (
  4.     pushd "%%a"
  5.     set n=-1
  6.     for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  7.         set /a n+=1
  8.         set /a "m=n/10+1"
  9.         md !m!>nul 2>nul
  10.         move "%%i" "!m!\">nul
  11.     )
  12.     popd
  13. )
复制代码
放在主文件夹下,保存为ANSI编码运行

TOP

@echo off
setlocal enabledelayedexpansion

set "source=D:\1953\民事庭"
set "extension=jpg"
set "pagesize=10"

for /l %%i in (2068, 1, 3099) do (
  set "folder=!source!\%%i\正卷"
  set /a count=0
  set /a subfolder=1
  
  for %%F in ("!folder!\*.%extension%") do (
    set /a count+=1
    if !count! equ %pagesize% (
      set /a subfolder+=1
      set /a count=0
    )
    set "destination=!folder!\!subfolder!"
    if not exist "!destination!" mkdir "!destination!"
    move "%%F" "!destination!"
  )
)
这个代码解决了

TOP

回复 3# 2652boy
变量设置忘记加引号,已修改

TOP

因为我的文件夹不止一个
比如我有:1953/民事庭/2068/正卷    到 1953/民事庭/9099/正卷,每个文件夹都需要按照这个帖子要求来

TOP

@echo off
setlocal enabledelayedexpansion

set "source=D:\1953\民事庭\2068\正卷"
set "extension=jpg"
set "pagesize=10"

set /a count=0
set /a folder=1

for %%F in ("%source%\*.%extension%") do (
  set /a count+=1
  if !count! equ %pagesize% (
    set /a folder+=1
    set /a count=0
  )
  set "destination=%source%\!folder!"
  if not exist "!destination!" mkdir "!destination!"
  move "%%F" "!destination!"
)
这个可以但是只能单个文件夹移动,不能批量,哪位大佬可以优化一下

TOP

回复 2# qixiaobin0715


    无法运行

TOP

本帖最后由 qixiaobin0715 于 2023-6-7 13:24 编辑
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "delims=" %%i in ('dir /b /a-d *.jpg') do (
  4.     set /a n+=1
  5.     set /a "m=(n-1)/10+1"
  6.     md !m!>nul 2>nul
  7.     move "%%i" "!m!\">nul
  8. )
复制代码
免费赠送,未经测试有问题可讨论。
批处理放在“正卷”文件夹中运行。

TOP

返回列表