29 lines
828 B
PowerShell
29 lines
828 B
PowerShell
param(
|
|
[validatescript({ Test-Path $_ -PathType Any })]
|
|
[system.io.fileinfo]$in,
|
|
$out = (Split-Path -Parent $in),
|
|
$scale = 128
|
|
)
|
|
|
|
if (!(Get-Command "magick.exe" -ErrorAction SilentlyContinue)) {
|
|
Write-Host "There's no magick.exe to work with!"
|
|
exit
|
|
}
|
|
|
|
if (Test-Path $in -PathType container) {
|
|
$out_dir = "$out\x$scale\"
|
|
if (!(Test-Path $out_dir)) {
|
|
New-Item "$out_dir" -ItemType directory
|
|
}
|
|
foreach ($image in Get-ChildItem "$in*" -Include *.png, *.jpg, *.gif) {
|
|
$scaled = "$out_dir$($image.BaseName)$($image.Extension)"
|
|
Write-Host $scaled
|
|
magick $image.FullName -scale "$($scale * 100)%" $scaled
|
|
}
|
|
}
|
|
else {
|
|
$scaled = "$out\$($in.BaseName)-x$scale$($in.Extension)"
|
|
Write-Host $scaled
|
|
magick $in.FullName -scale "$($scale * 100)%" $scaled
|
|
}
|