外部磁盘作为临时文件夹

问题描述

我正在尝试使用蒙太奇(Windows 10 上的 ImageMagick 7.0.11)将几个大 jpg 合并到一个大 tiff (BigTiff) 中。该过程需要大量磁盘空间,我尝试使用外部 2TB 磁盘作为临时文件夹,因为我的主驱动器已用完并导致 ImageMagick 退出。我尝试使用 -define registry:temporary-path 但似乎 ImageMagick 无法访问临时文件的磁盘。我可以使用 ImageMagick 读取和写入文件到外部磁盘,我只是在让 ImageMagick 使用磁盘存储临时文件时遇到问题。

这是我正在使用的完整命令(D:\ 是外部驱动器,我创建了一个名为 tmp 的文件夹):

magick montage -define registry:temporary-path=D:\tmp -mode concatenate -tile 2x1 D:\a.jpg D:\b.jpg TIFF64:D:\merged.tiff

当我尝试运行该命令时,我立即收到以下错误,但没有将任何内容写入磁盘:

montage: unable to extend cache 'D:\a.jpg': No space left on the device @ error/cache.c/OpenPixelCache/3906.
montage: unable to extend cache 'D:\b.jpg': No space left on the device @ error/cache.c/OpenPixelCache/3906.
montage: 'TIFF64:D:\merged.tiff' @ error/montage.c/MontageImageCommand/1806.

解决方法

我发现了问题所在。外部驱动器被格式化为 FAT32,ImageMagick 试图写入大于 4GB 的临时文件(临时文件大小范围为 10-50 GB)。将驱动器格式化为 exFAT 解决了该问题。