![]() |
поправить скрипт перекодирования изображений
Добрый.
Использую такой скрипт: Код:
Get-ChildItem -Path "E:\tmp\*" -include *.jpg, *jpg*.*, *.png, *png*.*, *.jpeg, *jpeg*.*, *.webp, *webp*.* -Recurse | foreach-object { При выполнении получаю ошибку: Код:
Исключение при вызове "Save" с "2" аргументами: "В GDI+ возникла ошибка общего вида." в тоже время по строке Код:
$Source.Dispose() Код:
Сбой вызова метода из-за отсутствия в [System.String] метода с именем "Dispose". Нужно: чтобы файлы перезаписывались, это принципиально нужно. Может как-то через буфер реализовать. И были не заняты никаким процессом после перекодировки. |
пока сделал так, чтобы сохраняло под другим именем (дописывало new_), а потом через remove-item -exclude *new_*.* удаляю все ненужное.
но все таки хотелось бы сразу чтобы перезаписывало, и освобождало доступ к файлу. |
Цитата:
|
Iska, я не совсем понимаю для чего именно его надо вызывать в данном случае...
мне нужно было освободить входной файл, для перезаписи... Но вопрос в том, что .Dispose() впринципе не вызывается. не для чего. Где-то попадалась инфа как этот момент( с блокировкой входного файла на перезапись) обходили используя буфер. т.е входнной файл помещали в буфер и от туда его использовали или как-то так, в результате чего перезаписать файл можно было без проблем и без .Dispose() |
Время: 10:22. |
Время: 10:22.
© OSzone.net 2001-