首页 > 解决方案 > 试图将 Magick 转换为 .Bat 以进行拖放

问题描述

所以我有这个320x320像素文件叫做player0.bmp. 我想切割成32x32像素.bmp文件。我可以运行cmd.exe提示符,将目录更改为文件所在的目录,然后运行此命令;

magick convert player0.bmp -size 320x320 -crop 32x32 player0-%02d.bmp

这个脚本有效,它将图像分解成我想要的。但是我想避免在命令中为数百个文件更改文件名。有什么方法可以创建.bat文件来执行此操作而无需更改脚本文件名和输出文件名?

我希望能够只是拖放Item0.bmp.bat文件上并让它吐出,然后能够拖放并让它Item0-01.bmp出来。Item0-99.bmpItem1.bmpItem1-01.bmpItem1-99.bmp

任何帮助制作此.bat文件将不胜感激!

标签: imagebatch-fileimagemagick

解决方案


这个使用 ImageMagick v7 的 Windows BAT 脚本将拖放文件作为输入图像,将其裁剪为 32x32 像素块,并使用输入文件名加上三位连续编号(如“inputfile_000.bmp”)写入输出文件, “输入文件_001.bmp”、“输入文件_002.bmp”等。

@echo off

pushd "%~dp1"

magick "%~1" ^
   -set filename:0 "%%[t]" ^
   -size 320x320 ^
   -crop 32x32 ^
      "%%[filename:0]_%%03d.bmp"

popd

exit /b

它首先切换到拖放输入图像的目录,然后将输出文件写入那里。您应该能够将输入文件拖放到实际的 BAT 文件上,甚至可以放在位于 BAT 脚本目录输入图像以外的某个位置的快捷方式上。

请注意,在 BAT 脚本中,大多数情况下都需要将百分号加倍。

在带有 IMv7.0.10 的 Windows 10 上对此进行了测试,通过将“magick”更改为“convert”,它也适用于 IMv6.9.10。


推荐阅读