批量提取图片信息[大小、宽高尺寸和分辨率]

批量提取图片信息[大小、宽高尺寸和分辨率]

说明

本脚本适用于,导出当前脚本所在文件夹下所有的图片的信息,包括文件名,大小,尺寸,分辨率;导出为CSV文件

使用步骤

1.将以下代码复制到txt文本中
2.修改文件名为xxx.bat
3.点击bat文件运行,稍等片刻后,输出文件

脚本源码

下面是脚本源码 .bat脚本

<# :
cls
@echo off
rem 提取图片的文件大小、宽高尺寸和分辨率
set #=Any question&set @=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%@% %z%
cd /d "%~dp0"
powershell -NoProfile -ExecutionPolicy bypass "Invoke-Command -ScriptBlock ([ScriptBlock]::Create([IO.File]::ReadAllText('%~f0',[Text.Encoding]::Default))) -Args '%~dp0'"
echo;%#% +%$%%$%/%@% %z%
pause
exit
#>
$path=$args[0];
$outfile='.\info.csv';
$ext=@('.jpg', '.jpeg', '.bmp', '.png', '.gif');
 
function formatsize($n){
    $m='';
    if($n -ge 1073741824){
        $m=($n/1073741824).toString('0.00')+' GB';
    }else{
        if($n -ge 1048576){
            $m=($n/1048576).toString('0.00')+' MB';
        }else{
            if($n -ge 1024){
                $m=($n/1024).toString('0.00')+' KB';
            }else{
                $m=$n.toString()+' B';
            };
        };
    };
    return $m;
};
 
$outfile=$outfile -replace '^\.',$path.trimend('\');
[System.Collections.ArrayList]$s=@();
Add-Type -AssemblyName 'System.Drawing';
$files=@(dir -liter $path|?{($ext -contains $_.Extension) -and ($_ -is [System.IO.FileInfo])});
for($i=0;$i -lt $files.length;$i++){
    $img=[System.Drawing.Image]::FromFile($files[$i].FullName);
    $line='"'+$files[$i].Name+'",'+(formatsize $files[$i].length)+',';
    $line+=$img.Width.toString()+'x'+$img.Height.toString()+','+$img.HorizontalResolution.toString();
    [void]$s.add($line);
    write-host $line;
    $img.Dispose();
};
[IO.File]::WriteAllLines($outfile, $s, [Text.Encoding]::Default);
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

*阿莫西林*

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值