美文网首页
windows中使用bat脚本批量移动图片

windows中使用bat脚本批量移动图片

作者: O无为学长O | 来源:发表于2021-04-20 23:58 被阅读0次

今天在网上看到有人发贴求助,想要将一个文件夹中的所有图片每200张一组移动到指定格式的子文件夹中,比如第1~200张移动到 00000 子文件夹,第201~400张移动到 00001 子文件夹,依此类推。很久没写bat脚本了,于是手痒就写了一个,有同样需求的朋友可以自取。

脚本其实很简单,用到的知识点不多,具体代码如下:

:: 批量移动图片脚本
@echo off 

:: 开启变量延迟 ,这条必须加,否则后面获取变量值会有问题
setlocal enabledelayedexpansion

:: 指定图片目录(脚本默认放在图片目录的上一级目录)
set path=100_FUJI

:: 列出图片目录中的所有文件,并将文件列表输出到当前目录的0000.txt文件中
dir /B  !path!>0000.txt

:: 进入图片目录
cd !path!

:: 设置变量  index 变量用来拼接子目录名称 (类似格式:00001,00020, 00300)
:: step 变量用来计算图片张数
set /a index=0
set /a step=0

:: 逐行读取脚本所在目录下的0000.txt中的内空
for /f "usebackq tokens=1,2* delims=." %%i in (%~dp0\0000.txt) do (

:: 判断文件格式,只处理图片
  if /i %%j EQU jpg (

:: 设置变量 num 用来对图片进行分批,我这里为了测试,将图片每5张存一个文件夹
    set /a num=!step!%%5
    
::  利用取余数的方式来判断何时建新的文件夹
    if /i  !num! EQU 0 ( 

:: 拼接 00001 ~ 00009 的文件夹名
      if !index! LSS 10 (
        md 0000!index!
        set dir=0000!index!
      )

:: 拼接 00010 ~ 00099 的文件夹名
      if !index! GTR 9 if !index! LSS 100 (
        md 000!index!
        set dir=000!index!
      )

:: 拼接 00100 ~ 00999 的文件夹名
      if !index! GTR 99 if !index! LSS 999 (
        md 00!index!
        set dir=00!index!
      )

:: 文件夹名称的自增变量 
      set /a index+=1
    )

:: 计算图片张数的自增变量
    set /a step+=1

:: 复制图片到指定子文件夹
    copy %%i.* %cd%\!dir!
  )
)

:: 这条命令是为了暂停看执行效果的,可以删除
pause >nul

纯净版代码如下:

@echo off
setlocal enabledelayedexpansion

set path=100_FUJI

dir /B  !path!>0000.txt
cd !path!

set /a index=0
set /a step=0

for /f "usebackq tokens=1,2* delims=." %%i in (%~dp0\0000.txt) do (
  if /i %%j EQU jpg (
    set /a num=!step!%%5
    if /i  !num! EQU 0 ( 
      if !index! LSS 10 (
        md 0000!index!
        set dir=0000!index!
      )
      if !index! GTR 9 if !index! LSS 100 (
        md 000!index!
        set dir=000!index!
      )
      if !index! GTR 99 if !index! LSS 999 (
        md 00!index!
        set dir=00!index!
      )
      set /a index+=1
    )
    set /a step+=1
    copy %%i.* %cd%\!dir!
  )
)

pause >nul

相关文章

网友评论

      本文标题:windows中使用bat脚本批量移动图片

      本文链接:https://www.haomeiwen.com/subject/qqgtrltx.html