找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 81795|回复: 15

[文件操作] [已解决]批处理如何将bmp图片文件另存为/转换成jpg图片文件

[复制链接]
发表于 2015-11-28 13:20:55 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-12-14 22:22 编辑

因为公司有严格的规定,不可以下载或使用任何非公司软件
而公司又没有合适的软件,将3mb的bmp图片转换为200k的jpg图片

我想到的办法是 将bmp文件用windows自带图片软件mspaint.exe打开并另存为jpg文件
但是图片有几千张,以后可能会更多
所以想求助是否可以采用bat程序执行
要怎样写代码
发表于 2015-11-28 13:55:12 | 显示全部楼层
对mspaint的接口不了解。但用powerpoint肯定可以。 如果电脑没ppt那就不晓得了。
发表于 2015-11-28 14:33:14 | 显示全部楼层
  1. //&cls&dir /b *.bmp|cscript -nologo -e:jscript "%~f0"&pause&exit/b

  2. var files = WScript.StdIn.ReadAll().split(/\r\n/);
  3. for (var i=0; i<files.length; i++){
  4.     var img = new ActiveXObject('WIA.ImageFile');
  5.     var imgps = new ActiveXObject('WIA.ImageProcess');
  6.     img.LoadFile('.\\'+files[i]);
  7.     imgps.Filters.Add(imgps.FilterInfos('Convert').FilterID);
  8.     imgps.Filters(1).Properties('FormatID').Value = '{B96B3CAE-0728-11D3-9D7B-0000F81EF32E}';
  9.     var img = imgps.Apply(img);
  10.     img.SaveFile('.\\'+files[i].replace(/(.+)\.[^\.]+$/,'$1')+'.jpg');
  11. }
复制代码

评分

参与人数 1技术 +1 收起 理由
yu--zz5337 + 1 感谢

查看全部评分

发表于 2015-11-28 14:36:09 | 显示全部楼层
我是来劝楼主换公司的。
发表于 2015-11-28 14:41:20 | 显示全部楼层
公司的电脑不能插U盘么?
 楼主| 发表于 2015-11-28 14:57:10 | 显示全部楼层
太感谢pcl_test,真是太好了.

公司的电脑不可以连接任何电子设备,包括给手机充电
公司不允许使用外来软件是为了产权的保护问题, 我可以理解的,有被罚的经历.

再次感谢pcl_test,不知道我什么时候可以学到这种程度
是什么语言编写的阿
发表于 2015-11-28 14:57:57 | 显示全部楼层
  1. 'Convert bmp file(batch) type to JPG
  2. 'http://www.experts-exchange.com/questions/21969652/Convert-bmp-file-batch-type-to-JPG.html
  3. ' File Name:BmpToJpg.vbs
  4. Const xlHtml = 44: Dim Args, pPath
  5. Set Args = WScript.Arguments
  6. If Args.Count <> 1 Then WScript.Quit
  7. If LCase(Right(Args(0), 4)) <> ".bmp" Then WScript.Quit
  8. pPath = WScript.ScriptFullName & "\.."
  9. With CreateObject("Excel.Application")
  10.         With .Workbooks.Add(1)
  11.                 With .ActiveSheet
  12.                         .Pictures.Insert(Args(0)): .Shapes(1).Cut
  13.                         .PasteSpecial "Picture (JPEG)"
  14.                 End With
  15.                 .SaveAs pPath & "Temporary.htm", xlHtml: .Close False
  16.         End With
  17.         .Quit
  18. End With
  19. With CreateObject("Scripting.FileSystemObject")
  20.         .CopyFile pPath & "Temporary.files\image001.jpg", _
  21.         Replace(oPath, ".bmp", ".jpg", 1, -1, 1)
  22.         .DeleteFile pPath & "Temporary.htm"
  23.         .DeleteFolder pPath & "Temporary.files", True
  24. End With
复制代码

评分

参与人数 1技术 +1 收起 理由
yu--zz5337 + 1 感谢

查看全部评分

发表于 2015-11-28 15:06:36 | 显示全部楼层
为楼主推荐一工具,  比较专业的

图片处理工具 ImageMagick , 带命令行工具
http://www.imagemagick.org/script/index.php

支持200+种格式互相转换
http://www.imagemagick.org/script/formats.php

命令行工具批处理代码示例
http://www.webhek.com/batch-optimize-images-script
 楼主| 发表于 2015-11-28 15:08:21 | 显示全部楼层
本帖最后由 yu--zz5337 于 2015-11-28 15:21 编辑

回复 7# yu2n
感谢7楼的热心帮助.不过好像不行,没有成功.
感谢8楼的热心帮助.不过公司里不可以安装任何网络软件的,所以应该不行.
不过还是收藏了,可以在我自己的computer上用
 楼主| 发表于 2015-11-29 10:32:37 | 显示全部楼层
不知道能不能单纯用bat就能解决的
发表于 2015-11-29 11:08:40 | 显示全部楼层
回复 10# yu--zz5337

不能
发表于 2015-11-29 11:26:24 | 显示全部楼层
本帖最后由 aa77dd@163.com 于 2015-11-29 11:27 编辑

回复 10# yu--zz5337

单纯批处理 需要 借助 命令行的图片转换工具 或者 调用某工具的 dll 接口 如果有这样工具的话

总之都需要一个命令行工具,  无论这个工具是微软提供的 还是第三方的

没有找到微软提供有这样的命令行工具,

而 ImageMagick 就提供了这样一个命令行工具 convert

批处理代码示例:

for %%f in (*.jpg) do (
       convert "%%~nf.jpg" -type truecolor "%%~nf.bmp"
)

除非你的公司自己去开发一个这样的命令行工具,  恐怕没什么好办法了
 楼主| 发表于 2015-11-29 11:57:35 | 显示全部楼层
感谢aa77dd@163.com 和 pcl_test 的回答.
发表于 2016-12-14 22:21:27 | 显示全部楼层
  1. @echo off
  2. rem win7及以上系统运行
  3. powershell -c "[System.Reflection.Assembly]::LoadWithPartialName('System.Drawing');dir *.bmp|%%{$image=[System.Drawing.Image]::FromFile($_.FullName);$image.Save($($_.BaseName+'.jpg'), [System.Drawing.Imaging.ImageFormat]::Jpeg);$image.Dispose()}"
  4. pause
复制代码
发表于 2022-2-12 23:32:11 | 显示全部楼层
回复 14# pcl_test


    版主大大太厉害了!谢谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 09:59 , Processed in 0.028975 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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