【问题标题】:How to override Windows' convert command by ImageMagick's one?如何通过 ImageMagick 覆盖 Windows 的转换命令?
【发布时间】:2011-05-27 18:20:30
【问题描述】:

Windows 中,一个名为convert 的命令用于转换文件系统。当你输入convert时,它会要求你指定一个文件系统。

ImageMagick中,convert命令用于图像处理。

问题是,即使在为 ImageMagick convert 设置了环境变量之后,该工具也不会被调用。它只调用 Windows convert 命令。如何覆盖它?

【问题讨论】:

    标签: windows imagemagick


    【解决方案1】:

    这是一个老问题,但 ImageMagick 7 的当前解决方案是使用“magick”命令代替“convert”。

    【讨论】:

    • 也有提到here
    【解决方案2】:

    这是一个老问题,但我今天遇到了这个问题,这是我在Windows 7中的解决方案。

    Windows convert.exe 位于文件夹C:\Windows\System32,因此您必须修改 Windows PATH 变量,将 ImageMagick 路径(例如 C:\Libs\ImageMagick-6.8.8-4)放在加载 System32 的路径之前(即 %SystemRoot%\System32 )。

    这将导致所有 ImageMagick 可执行文件优先于任何类似命名的系统可执行文件,后者应该执行您想要的操作,但可能会导致意外行为。

    另外,当您想使用系统 convert.exe 时,您必须指定完整路径名,例如 C:\Windows\System32\convert.exe

    【讨论】:

      【解决方案3】:

      重命名 ImageMagick convert.exe 对我来说效果很好。

      我不喜欢每次都使用完整路径,而且我无法在工作 PC 上更改系统 PATH 变量。

      convert.exe 重命名为imgconvert.exe 后,无需进行其他更改。您现在可以在命令行的任何位置使用新命令,而不会与固有的 Windows 文件系统 convert

      混淆

      编辑:从 7.0 版开始,该命令现在是 magick.exe,不再与任何原生 windows 命令冲突。因此,如果可能,下载最新版本也应该可以解决问题。

      【讨论】:

      • 我同意。我不会更改 PATH 变量以将非系统可执行文件放在系统可执行文件之前,因为程序可能依赖于它。如果您不想重命名,请考虑创建一个符号链接,如下所示:mklink "C:\IM6-Path\convert-im6.exe" "C:\IM6-Path\convert.exe"。
      • 是的。所有其他解决方案都需要额外的工作(键入整个路径),或者需要一些系统配置。这很简单。
      • convert.exe在哪里?
      【解决方案4】:

      您注销并登录了吗?

      或者通过提供完整路径来指定 Imagemagick 的转换

      【讨论】:

      【解决方案5】:

      在 powershell 中你可以运行这个:$env:Path = "C:\path-to-convert\;$env:Path"

      现在找到了 imagemagick convert exe,因为它位于路径的第一位。

      【讨论】:

        猜你喜欢
        • 2021-06-26
        • 1970-01-01
        • 2016-06-30
        • 1970-01-01
        • 2016-01-26
        • 1970-01-01
        • 2015-01-25
        • 1970-01-01
        • 2014-12-02
        相关资源
        最近更新 更多