新しいシールドを上げてください。少し振りかけます。
私はPhotoshop CS4に、AppScript + Pythonを使用してフォルダいっぱいのJPEG画像を開こうとしています。これは、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 にフォルダをリストしてもらい、その結果を一度に 1 つずつ Photoshop に送り込んで処理してもらいたいと思っています。
Adobe の ExtendScript ブリッジに相当する JavaScript は次のようになります。
#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()
)
ええと、それを解決したので、 UNIXパスで指定された特定のフォルダー内のファイルのリストをFinderに要求することで、実際にこれを行う方法はありますか?