获取文件夹中图像的脚本,尺寸打印到 .txt 文件

Gru*_*ber 5 windows-7 script batch command-line

正如标题所说,是否有用于 Win 7 的脚本将文件夹内的所有图像(JPG、PNG、GIF ecc)以及“文件名”和“像素尺寸”打印在 .txt 文件上?
我已经dir在命令行上尝试过,但只列出了名称、文件大小等。


ExifTool 解决方案

最好的交易 imo,命令已经编码在 .exe 的文件名中,它完全是一个拖放脚本,可以在任何你想要的地方使用!

更新
为方便起见,我稍微修改了 exe 的内联文件名

ExifTool(-FileName -Imagesize -r -T -w+! %0finfo.txt -ext jpg --ext exe .).exe
Run Code Online (Sandbox Code Playgroud)

通过这种方式,我将 .txt 输出减少到每个图像的一行 ( -T) 并添加了一个递归选项 ( -r) 以便它也可以处理子文件夹。


使用 ImageMagick 的解决方案

我用 ImageMagick 放在我的解决方案下面,它非常快速和简单,但 ofc 需要安装库。

Kar*_*ran 6

使用ExifTool(便携式可执行文件重命名为exiftool.exe):

exiftool -ImageSize -r .
Run Code Online (Sandbox Code Playgroud)

这里ImageSize是您感兴趣的标签名称,将打印Image Width x Image Height。该-r开关使其递归处理子目录中的文件。

自定义输出字符串格式也很简单。例如:

exiftool -p "Image Name: \"$FileName\"$/Image Size: $ImageSize$/" -r .
Run Code Online (Sandbox Code Playgroud)

在这种情况下,标签名称以 $ 开头。$/打印换行符。

注意:必须在命令提示符下键入上述命令。要将输出重定向到文本文件,您可以附加> Details.txt到它们。


如果您只想运行该程序并让它编写一个包含相关图像详细信息的文本文件,您可以按如下方式重命名可执行文件

ExifTool(-FileName -Imagesize -w+! %0fDetails.txt -ext gif --ext exe .).exe
Run Code Online (Sandbox Code Playgroud)

这会将所有控制台输出 ( -w)写入当前目录中名为Details.txt的文件。在这种情况下,输出将包含当前目录中所有 GIF 的图像名称和大小。关于进一步的细节-w参数,包括的含义+!并且%0f可在上面的文档链接。

您可以包含更多要处理的扩展名-ext jpg -ext png,等等,或者-ext gif完全删除以使其读取所有支持的文件类型(包括您可能不想要的非图像)。

--ext exe用于排除所有 EXE(以便程序自己的可执行文件不包含在报告中)。

-r 当然可以添加以启用递归处理。

很多你可以做更多与给定的程序是多么可笑的强大(和可扩展性也给予了充分的Perl源是免费提供的)!