查看: 662|回复: 10
收起左侧

[软件] 请会bat的大佬帮我改个小地方。

[复制链接]
MyACG
发表于 2020-4-8 17:37:30 | 显示全部楼层 |阅读模式
搞了个一键转换图片的bat处理。但水平实在不行,只能够将就用一下。
希望论坛大佬帮我实现任意文件夹里的图片拖拽到bat图标就能够运行的功能。
  1. [url=home.php?mod=space&uid=331734]@echo[/url] off&setlocal
  2. for /f "delims=" %%z in ('dir/b nconvert.exe') do set "nconvert=%%~fz"
  3. set imageWidth=1080
  4. set iQuility=100
  5. for /f "delims=" %%I in ('dir/b/s/a-d *.jpg,*.jpeg,*.png,*.bmp,*.gif') do "%nconvert%" -c 5 -q %iQuility% -overwrite -out jpeg -D -ratio -resize 0 %imageWidth% "%%I">nul
  6. echo ==============&echo Done!&echo.
复制代码






tz_being
发表于 2020-4-9 16:19:07 | 显示全部楼层
你起码得把nconvert.exe传上来吧
KingStation
头像被屏蔽
发表于 2020-4-9 16:27:38 | 显示全部楼层
tz_being 发表于 2020-4-9 16:19
你起码得把nconvert.exe传上来吧

这个nconvert.exe估计就是用来转换的,和bat没多大关系,楼主应该是想要一个能把图片参数传递给nconvert.exe的bat脚本。不过我不会写
nmyh
发表于 2020-4-9 16:55:30 | 显示全部楼层
IrfanView可以批量处理图片。
文件-批量转换

tz_being
发表于 2020-4-9 16:59:24 | 显示全部楼层
KingStation 发表于 2020-4-9 16:27
这个nconvert.exe估计就是用来转换的,和bat没多大关系,楼主应该是想要一个能把图片参数传递给nconvert. ...

查了一下,nconvert.exe是XnView自带的命令行程序,楼主1楼的要求不复杂,但要实现其它要求如图片转换参数就得做一番功课,我还是闪吧
qin_xs
发表于 2020-4-9 20:00:20 | 显示全部楼层
本帖最后由 qin_xs 于 2020-4-10 18:03 编辑
  1. @echo off&setlocal enabledelayedexpansion
  2. set batchName=批量操作...
  3. TITLE 批处理--%batchName%
  4. color 0A

  5. :zidong
  6. if exist %~1 set folder=%~1&goto op

  7. :shoudong
  8. set /p folder=请拖入要处理的文件夹:
  9. cls

  10. :op
  11. rem echo %folder%
  12. :: for /f "delims=" %%z in ('dir/b nconvert.exe') do set "nconvert=%%~fz"
  13. :: set imageWidth=1080
  14. :: set iQuility=100

  15. :: 也可以直接用for /r
  16. :: for /r %folder% %%I in (*.jpg *.jpeg *.png *.bmp *.gif) do (
  17. :: rem 改为你的操作
  18. :: echo %%I
  19. :: )
  20. dir /B/S/a-d %folder%|findstr /i/r ".jpg$ .jpeg$ .png$ .bmp$ .gif$" > z.txt 2>nul
  21. for /f "delims=" %%I in (z.txt) do (
  22. rem 改为你的操作
  23. echo %%I
  24. rem "%nconvert%" -c 5 -q %iQuility% -overwrite -out jpeg -D -ratio -resize 0 %imageWidth% "%%I">nul
  25. )
  26. del z.txt

  27. echo ==================
  28. echo 以上文件处理完毕!
  29. echo ==================
  30. rem pause>nul

  31. goto shoudong
复制代码
调整了下,可以循环处理
MyACG
 楼主| 发表于 2020-4-12 16:27:58 | 显示全部楼层
本帖最后由 MyACG 于 2020-4-12 16:29 编辑
qin_xs 发表于 2020-4-9 20:00
调整了下,可以循环处理

大佬,谢谢你,我把你改的代码保存bat。的确能够运行,cmd也显示文件处理完毕。但图片就是没变化。请问是不是我操作错误。
qin_xs
发表于 2020-4-12 18:34:15 | 显示全部楼层
MyACG 发表于 2020-4-12 16:27
大佬,谢谢你,我把你改的代码保存bat。的确能够运行,cmd也显示文件处理完毕。但图片就是没变化。请问是 ...

15-17,28行 取消注释(可能需要根据情况做些调整)
MyACG
 楼主| 发表于 2020-4-13 10:45:06 | 显示全部楼层
qin_xs 发表于 2020-4-12 18:34
15-17,28行 取消注释(可能需要根据情况做些调整)

不行...
时不我与
发表于 2020-4-14 21:58:24 | 显示全部楼层
我也不会批处理,所以如前面某楼层一样使用IrfanView操作——既可以在图形界面点选设参数,也可以使用命令行的方式。
话说你都等这么几天了,何必非得批处理?
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-28 16:23 , Processed in 0.127393 second(s), 16 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

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