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

[其他] 批处理,处理完图片如何将整个目录移走?

本帖最后由 暴牙弟 于 2023-5-24 19:29 编辑

需求:
子目录下的jpg文件处理完,并将整个目录移走。现有代码如下。文件结构

  • BAT所在目录
    根目录A文件夹
    A里面一堆jpg
    B文件夹  B里面一堆jpg
    C文件夹 C里面一堆jpg
    D文件夹 D里面一堆jpg
  1. @echo off
  2. chcp 65001>nul
  3. for /r %%a in (*.*) do (
  4.         for /f "tokens=1,2" %%b in ('identify -format "%%w %%h" "%%a"') do (
  5.                 if %%b GTR %%c (
  6.                         echo 图片%%~na的尺寸为%%bx%%c,为横向
  7.                 ) else if %%b LSS %%c (
  8.                         echo 图片%%~na的尺寸为%%bx%%c,为纵向
  9.                 ) else (
  10.                         echo 图片%%~na的尺寸为%%bx%%c,为方形
  11.                 )
  12.         )
  13. )
复制代码

非要用bat吗
用vbs那太简单了

TOP

回复 2# jyswjjgdwtdtj


    现在搞定,但是有个功能还没解决

TOP

有大佬看到的话麻烦指点一下

TOP

回复 3# 暴牙弟


    那你倒是说啥功能嘞?

TOP

回复 5# jyswjjgdwtdtj


   

不好意思,我主帖修改内容。忘了回复。 就是截图图片尺寸后,我做切割。每个文件夹的jpg图片切割完毕后,把该文件夹移动到指定目录。

TOP

大佬们帮帮忙啊


我自己做了修改还是不行啊
  1. @echo off
  2. chcp 65001>nul
  3. Setlocal enabledelayedexpansion
  4. chcp 65001>nul
  5. set /P file=请把文件夹拖到此处
  6. FOR /D %%a IN (*) DO (
  7. echo %%a
  8. cd /d %%a
  9. pause
  10. for /r %%i in (*.jpg) do (
  11. for /f "tokens=1,2" %%b in ('identify -format "%%w %%h" "%%i"') do (
  12. set /A cut=%%b/2
  13. if %%b GTR %%c (echo 图片%%~ni的尺寸为%%bx%%c,是A3尺寸,正在分割,请稍后
  14. pause
  15. "C:\Users\暴牙弟\Desktop\ImageMagick\convert.exe" -crop !cut!x%%c+0+0 "%%i" "%%~pni-1.jpg"
  16. "C:\Users\暴牙弟\Desktop\ImageMagick\convert.exe" -crop !cut!x%%c+!cut!+0 "%%i" "%%~pni-2.jpg")
  17. else (echo 图片%%~ni的尺寸为%%bx%%c,是A4尺寸,不需要切割)
  18. cls
  19. )
  20. )
  21. CD ..
  22. echo !file!
  23. echo %%a
  24. pause
  25. move %%a !file!
  26. )
  27. pause
复制代码

TOP

  1. move %%a !file!
复制代码


改成
  1. for %%x in (%file%) do (
  2. robocopy "%%~a" "%%~x/%%~a" /move
  3. )
复制代码


试试
bat小白,请多指教!谢谢!

TOP

回复 8# 77七


好的 谢谢

TOP

返回列表