用于图像压缩的 Windows 命令返回无效参数错误

标签 windows image command-line cmd compression

我试图在 Windows 系统上运行以下命令来压缩图像的文件大小,但它返回错误消息:

Invalid Parameter 70

for %f IN (*.png) DO convert -quality 70 "%f" "%f"

我尝试在万维网上搜索解决方案,但一无所获。

命令的语法错误吗?

这根本不起作用吗?

我在这里错过了什么?

最佳答案

您必须指定您的convert 命令的完整路径(例如:如果您将convert.exe 安装到C:\myprogs 提供C:\myprogs\convert.exe 在你的 for 循环中)或者 DOS 将使用内置的 convert 命令,这是完全不同的( NTFS/FAT 卷转换)

在我的机器上(我没有安装任何convert程序):

C:\Users\xxxx>where convert
C:\Windows\System32\convert.exe

内置的 windows 命令总是在 PATH 中排在第一位。

稍微偏离主题来解释一个类似的问题:当人们尝试调用 MSYS findsort 或类似 Windows 命令行中的通用命名命令时。其他命令如 sedgrep 工作正常,因为它们在 MS-DOS 中不存在,但 Windows findsort 存在并排在第一位,除非从 MSYS2 shell 运行(更不用说:用户的脚本由于命令含义和语法不同而惨败)

正如在其他评论中看到的那样,我想您混淆了 compact 命令。 compact 命令是一个压缩程序,不太可能有效地打包您的图像。你真的需要 ImageMagik 包。 Irfanview 不是一个命令行工具,但有一个很好的批处理模式,运行良好。

关于用于图像压缩的 Windows 命令返回无效参数错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38628608/

相关文章:

java - Intellij 和 sbt 0.13.5 "URI has an authority component"

java - 从运行时环境中运行批处理文件

javascript - 用javascript刷新所有图像?

image - 为什么 flutter 不在 Android 设备上显示图像

c# - 在 ListView 中绑定(bind)图像只显示字符串

bash 脚本 - 在 sed 中使用模式列表删除子字符串

powershell - 从文件中删除孤立的回车

windows - 错误检查 0xCE : DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

c# - 如何在 .NET 上创建软件路由器?

c++ - 模拟命令行输入