Board logo

标题: [文本处理] 批处理怎样调用画图打开当前文件夹所有图片并保存? [打印本页]

作者: 全球代购    时间: 2019-7-16 23:17     标题: 批处理怎样调用画图打开当前文件夹所有图片并保存?

start mspaint /a >>*.*.jpeg   调用画图打开当前文件夹所有图片并保存为原文件名,这样写怎么不对啊?哪位大神来指点下,我是刚接触批处理的小白
作者: 全球代购    时间: 2019-7-16 23:31

本意是借用画图软件来缩小图片大小,所以最好用画图软件的保存
作者: smss    时间: 2019-7-17 09:19

回复 2# 全球代购
用PS中的批处理 录制一个动作就可以缩小图片 可以把需要同样处理的图片放同一文件夹 只需要录一个动作就可批处理
作者: xczxczxcz    时间: 2019-7-17 09:39

回复 3# smss


    用POWERSHELL 修改图片大小和像素也很简单的啊。
作者: 全球代购    时间: 2019-7-17 09:45

回复 3# smss


  正是因为ps打不开所以才需要用画图,不想用别的软件,想试试bat
作者: 全球代购    时间: 2019-7-17 09:46

回复 4# xczxczxcz


    能教教怎么写批处理解决吗
作者: Batcher    时间: 2019-7-17 10:26

推荐试试命令行工具 nconvert
http://bbs.bathome.net/thread-4567-1-1.html
作者: 全球代购    时间: 2019-7-17 13:18

@Echo Off
start mspaint C:\Users\Administrator\Desktop\1\*.jpg
已经写到这里了  接下来用画图软件保存在当前文件夹应该怎么写
来个大神教教可好
作者: Batcher    时间: 2019-7-17 13:28

回复 8# 全球代购


    你这个思路行不通的,因为 mspaint 没有你希望的那种命令行接口。
作者: 全球代购    时间: 2019-7-17 17:11

回复 9# Batcher


    好吧,有能够用画图解决的思路吗
作者: bailong360    时间: 2019-7-17 17:29

回复 10# 全球代购
没有 你为啥非要用画图...
作者: Batcher    时间: 2019-7-17 17:33

回复 10# 全球代购


    没有。
作者: 523066680    时间: 2019-7-17 18:01

- 有更好的方法可以批量修改分辨率
- 我不听,我不听,我不听。就要 mspaint

我最近做跨境电商,我用 LightRoom 管理产品图(这个也支持批量修改分辨率),用 ImageMagick 作为命令行端的图片处理工具。
作者: 全球代购    时间: 2019-7-17 23:36

回复 13# 523066680

好吧  我试试  多谢指点
作者: hlzj88    时间: 2023-2-16 21:21

  1. Set fso = CreateObject("Scripting.FileSystemObject")
  2. Set ws = CreateObject("WScript.Shell")
  3. fo = fso.GetParentFolderName(Wscript.ScriptFullName)
  4. Set fo1 = fso.GetFolder(fo)
  5. Set fis = fo1.files
  6. For Each file In fis
  7. wind = LCase(fso.GetExtensionName(file))
  8. select case wind
  9. case "bmp"
  10. ws.run """"&file&""""
  11. wscript.sleep 1000 : ws.sendkeys "^s"
  12. wscript.sleep 500 : ws.sendkeys "{tab}"
  13. wscript.sleep 100 : ws.sendkeys "j"
  14. wscript.sleep 300 : ws.sendkeys "~"
  15. wscript.sleep 300 : ws.sendkeys "%{f4}"
  16. wscript.sleep 100 : fso.deletefile(file)
  17. case "jpg"
  18. ws.run """mspaint"" """&file&""""
  19. wscript.sleep 2500 : ws.sendkeys "^s"
  20. wscript.sleep 900 : ws.sendkeys "%{f4}"
  21. end select
  22. next
  23.   wscript.Quit
复制代码
现在的相机像素太大,用画图打开再保存的确可以在不影响看图的情况下,大幅降低图片占用存储空间。
上面是 清风 写的vbs,如果图片太大,可能来不及保存就又打开新的图片,需调整里面的延时时间。这种方式在win7上使用已经效果不明显了。

有个软件 jpeg resizer 可以更快速多种方式调整图片尺寸,并保存,对于尺寸超大的图处理更好。生成的新图存储空间会大幅下降。是很不错的软件。

发贴并非无原则挖坟,只是刚好可以接续话题提供更好的处理方案。也算是有益的补充吧。
作者: jyswjjgdwtdtj    时间: 2023-2-16 21:40

回复 15# hlzj88


    看到就提一嘴,可以用vbs,不要糟糕的sendkeys,可以用wia组件,搜索wia组件滤镜 有可以直接处理图片的方法
作者: hlzj88    时间: 2023-2-17 18:38

本帖最后由 hlzj88 于 2023-2-17 18:41 编辑

回复 16# jyswjjgdwtdtj
谢谢啊。
搜索阅读一文,刚好看到我提到的jpeg resizer,另外作者开发的软件的图

除了软件标题不一样,其他一样。

是对方不支持外链显示呢,还是论坛不支持呢。
作者: smss    时间: 2023-2-18 13:22

回复 15# hlzj88 能加webp吗?




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2