dark-------13
23-10-2012, 22:09
Вот решил поделиться скриптом.
Скрипт для сжатия файлов jpg - в папках и подпапках, с переименованием одинаковых файлов.
import-module image
$in="e:\test\in"
$out="e:\test\out"
$folder = "$out\res"
md $folder -force
$filter = new-Imagefilter | Add-ConversionFilter -passThru –typeName jpg -quality 50
Get-ChildItem $in -include *.jpg -Recurse | Get-Image | Set-ImageFilter -filter $filter |
Set-ImageFilter -filter $filter | Save-image -fileName {$_.FullName -replace ".jpg$","-small.jpg"}
Get-ChildItem $in -include *-small.jpg -Recurse | ? {!$_.PSIsContainer} | move-item -Destination {
$folder2 = "$folder\"
$fpath = Join-Path $folder2 $_.Name
$i = 1
while($true) {
if (Test-Path $fpath) {
$fpath = "{0}\{1}_{2}{3}" -f $folder2,$_.basename,$i,$_.extension
$i++
}
else {
$fpath
break
}
}
}
Скрипт для сжатия файлов jpg - в папках и подпапках, с переименованием одинаковых файлов.
import-module image
$in="e:\test\in"
$out="e:\test\out"
$folder = "$out\res"
md $folder -force
$filter = new-Imagefilter | Add-ConversionFilter -passThru –typeName jpg -quality 50
Get-ChildItem $in -include *.jpg -Recurse | Get-Image | Set-ImageFilter -filter $filter |
Set-ImageFilter -filter $filter | Save-image -fileName {$_.FullName -replace ".jpg$","-small.jpg"}
Get-ChildItem $in -include *-small.jpg -Recurse | ? {!$_.PSIsContainer} | move-item -Destination {
$folder2 = "$folder\"
$fpath = Join-Path $folder2 $_.Name
$i = 1
while($true) {
if (Test-Path $fpath) {
$fpath = "{0}\{1}_{2}{3}" -f $folder2,$_.basename,$i,$_.extension
$i++
}
else {
$fpath
break
}
}
}