[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 15# 77七
图片里的最上面的无用内容和最下面的二维码用批处理能不能删除掉?

TOP

回复 13# wh123wh123


  
  1. @echo off
  2. cd /d "%~dp0"
  3. set "_exiftool=D:\exiftool-12.83\exiftool(-k).exe"
  4. "%_exiftool%" -icc_profile= *.jpg
  5. del "*jpg_original"
  6. pause
复制代码
bat小白,请多指教!谢谢!

TOP

回复 9# terse


    ISE才可以

TOP

回复 11# 77七


    哦,是需要修改文件名才行,.jpg_original这个文件是什么?可以删除吗?如何顺便让批处理删除掉?求个完整地批处理代码,期待老师

TOP

回复 9# terse


    用BAT或者VBS能不能解决?上面代码看不懂

TOP

回复 10# wh123wh123


   
把exe文件复制出来或者写exe的完整路径
1

评分人数

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

TOP

回复 6# 77七


@echo off
exiftool -icc_profile= *.jpg
pause

    'exiftool' 不是内部或外部命令
或批处理文件。
请按任意键继续. . .
这是咋回事?

TOP

回复 8# buyiyang

Add-Type -AssemblyName System.Drawing
这个POWERSHELL直接就可以了吧

TOP

回复 3# wh123wh123

RemoveICCfromJPG.ps1
  1. Add-Type -AssemblyName System.Drawing
  2. $cp = New-Object CodeDom.Compiler.CompilerParameters
  3. $cp.ReferencedAssemblies.Add([Reflection.Assembly]::GetAssembly([Drawing.Image]).Location) >$null
  4. $cp.CompilerOptions ='/unsafe'
  5. Add-Type -CompilerParameters $cp -TypeDefinition @"
  6. using System;
  7. using System.Drawing;
  8. using System.Drawing.Imaging;
  9. using System.IO;
  10. public class ImageProcessor
  11. {
  12.     public static void RemoveICCProfile(string imagePath)
  13.     {
  14.         string tempPath = Path.GetTempFileName();
  15.         using (Image image = Image.FromFile(imagePath))
  16.         {
  17.             if (image.PropertyItems.Length > 0)
  18.             {
  19.                 foreach (PropertyItem propertyItem in image.PropertyItems)
  20.                 {
  21.                     if (propertyItem.Id == 0x8773)
  22.                     {
  23.                         image.RemovePropertyItem(propertyItem.Id);
  24.                     }
  25.                 }
  26.             }
  27.             image.Save(tempPath, ImageFormat.Jpeg);
  28.         }
  29.         File.Delete(imagePath);
  30.         File.Move(tempPath, imagePath);
  31.     }
  32. }
  33. "@
  34. dir *.jpg | ForEach-Object {
  35.     [ImageProcessor]::RemoveICCProfile($_.FullName)
  36. }
复制代码

TOP

就是icc , 原本打不开的 , 填充icc信息就能打开了
请确保你确实是移除了icc (3楼那)

TOP

回复 5# wh123wh123


  
  1. https://exiftool.org/exiftool-12.83.zip
复制代码
用这个
bat小白,请多指教!谢谢!

TOP

本帖最后由 wh123wh123 于 2024-4-21 16:30 编辑

回复 4# Batcher


把图片右键保存到电脑,然后点击图片看能不能直接打开显示?看是什么原因导致无法正常显示的,期待原因和最佳解决办法

TOP

回复 3# wh123wh123


    请选一个“微信公众号下载的jpg文件,在windows照片查看器中无法打开”这样的图片上传到网盘,以便大家测试。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 2# hfxiang


微信公众号下载的jpg文件,有一些在windows照片查看器中无法打开,其原因是内嵌了ICC文件。解决办法很简单,不需要改windows颜色配置的方法:
首先,去http://exiftool.org下载个免费的命令行程序exiftool.exe
建一个批处理文件Remove-icc.bat,用记事本编辑输入:exiftool -icc_profile= *.jpg 。
将exiftool.exe和Remove-icc.bat都放在需要更改的微信图片目录下,运行Remove-icc.bat,目录里面原jpg内嵌的icc文件都会被去除,并生成一个新的同名jpg。原jpg会自动更名为jpg_original文件,没有内嵌icc的jpg完全不影响。
按类型排序,删掉所有jpg_original文件,搞定收工。


上面这个情况,按照上面的方法为什么无效?

TOP

TOP

返回列表