说明
本脚本适用于,导出当前脚本所在文件夹下所有的图片的信息,包括文件名,大小,尺寸,分辨率;导出为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);