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


根据老帖的vbs代码改写一个bat+jscript版本,存为test.bat运行,100%取用系统内置资源,楼主试试吧...
运行结果是将当前目录及其子目录中的*.jpg裁剪(顶裁100,底裁150)完毕,对应的新文件名为*.new.jpg
代码17-18行对应的顶部/底部裁剪量可被修改


  1. @set @v=1 //&(dir /b/s/a-d *.jpg|cscript /e:jscript "%~f0") &exit/b
  2. ////
  3. files=WSH.stdin.readall().split('\r\n');
  4. for (; files.slice(-1)==''; files.pop());
  5. img=WSH.CreateObject('WIA.ImageFile');
  6. ip=WSH.CreateObject('WIA.ImageProcess');
  7. for (var n=0,l=files.length; n<l; ++n) {
  8. var np=files[n].lastIndexOf('.');
  9. var outF=files[n].slice(0,np)+'.new'+files[n].slice(np);
  10. cutImage(files[n], outF);
  11. }
  12. WSH.quit();
  13. //
  14. function cutImage (inF, outF) {
  15. img.loadfile(inF);
  16. ip.filters.add(ip.filterinfos('Crop').filterid);
  17. ip.filters(1).properties('Top')=100;
  18. ip.filters(1).properties('Bottom')=150;
  19. img=ip.apply(img); img.savefile(outF);
  20. }
复制代码

TOP

本帖最后由 aloha20200628 于 2024-4-23 16:15 编辑


用以下bat+jscript代码成功删除了5楼右键存成的问题图片中的exif属性,即可直接用windows图片查看器打开浏览,其后用41楼代码剪裁就一气呵成了...
以下代码存为test.bat用法》
   test.bat "问题图片.jpg"
生成新文件名为 "问题图片.new.jpg"
  1. @set @v=1 //&(if "%~1" neq "" cscript /e:jscript "%~f0" "%~1") &exit/b
  2. ////
  3. v=WSH.arguments;
  4. np=v(0).lastIndexOf('.'); outF=v(0).slice(0,np)+'.new'+v(0).slice(np);
  5. img=WSH.CreateObject('WIA.ImageFile');
  6. ip=WSH.CreateObject('WIA.ImageProcess');
  7. img.loadfile(v(0));
  8. ip.filters.add(ip.filterinfos('Exif').filterid);
  9. ip.filters(1).properties('ID')=34675;
  10. ip.filters(1).properties('Remove')=true;
  11. img=ip.apply(img); img.savefile(outF);
  12. WSH.quit();
复制代码

TOP

本帖最后由 aloha20200628 于 2024-4-23 16:22 编辑

回复 52# wh123wh123

55楼代码(已订正第1行)用于删除单个问题图片中的Exif属性使其“复活” 》
   复制为test.bat文件后放到被处理的图片(问题图片.jpg)目录中,运行  test.bat "问题图片.jpg"  之后应可看到对应的 "问题图片.new.jpg" 新文件被生成;
41楼代码用于批量剪裁图片顶边和底边 》
   复制为test.bat文件后放到被处理的图片(*.jpg)目录中,运行  test.bat  之后应可看到对应的 *.new.jpg 新文件被生成。

TOP

返回列表