Подними свои щиты для новичков, я собираюсь немного их окропить.
Я пытаюсь заставить Photoshop CS4 открыть папку изображений JPEG с помощью AppScript + Python, что можно описать примерно так в BASH:
#!/bin/bash
for F in `ls ~/Desktop/test`; do
open -a "Adobe Photoshop CS4" $F
# proceed to mutilate the image appearance
done
Я терплю неудачу на стадии ls ~/Desktop/test
. Я действительно хотел бы попросить, чтобы Finder перечислил папку для меня и передавал результат в Фотошоп по одному, чтобы обработать их.
Эквивалент JavaScript с мостом Adobe ExtendScript будет:
#target photoshop
var folder = Folder("~/Desktop/test");
var images = folder.getFiles();
for (var i=0; i < images.length; i++) {
if (images[i] instanceof File && images[i].hidden == false) {
var doc = app.open(images[i]);
// do something to the image here
doc.close(SaveOptions.DONOTSAVECHANGES);
}
}
Я могу достать мне document_file
объект с ужасно глупой штуковиной, такой как x = app('Finder').home.folders['Desktop']().folders['test']().items()[0]
, но это оказывается действительно глупым объектом. Попытка app('Adobe Photoshop CS4').open(x)
этого объекта вызовет OSERROR: 1230
, с MESSAGE: File/Folder expected
.
(О-о, этот document_file
на самом деле реагирует на URL()
, поэтому File.makewithurl(x.URL())
можно вводить в open()
)
Эх, решив это, есть ли способ сделать это, запросив у Finder список файлов в данной папке, указанный UNIX-путь ?