所以我目前正在尝试在Javascript for Photoshop中创建一个脚本,该脚本将首先提示用户指向一个文件夹。从那里它将打开该文件夹中的所有文件,然后根据文件的名称,它将对这些文件运行单独的操作,关于它们属于哪个名称。
现在我能够打开所有文件并在所有文件上执行一个操作。但是我很难让它为不同的文件运行不同的操作。
以下是每个文件夹的内容。
(我想让它选择名为1-18的文件或名称中少于3个字符的文件。
1.psd
2.psd
...
... 18.psd
(对于这些我会选择名称中包含“ - ”的文件)
GHHJKK-1.psd GHHJKK-2.psd ..... GHHJKK-5.psd
(对于这些我会选择包含字符串“zoom”的文件)
zoom_side.psd
zoom_sole.psd
这是我到目前为止所拥有的
#target photoshop
var inputFolder = Folder.selectDialog("Select a folder of documents to process");
function open360() {
//app.open(File(openDialog()));
var filesOpened = 0;
var fileList = inputFolder.getFiles();
for ( var i = 0; i < fileList.length; i++ ) {
open( fileList[i] );
filesOpened++;
}
}
open360();
var doc = app.activeDocument;
function shoeSFW() {
/* if (doc.filename.length < 3 ) {
app.doAction("Zoom Side and Sole 360 SFW", "New SFW Actions");
}
*/
for(i = app.documents.length; i > 0; i--){
if(app.documents.length != 0){
doc = app.doAction("360 Shoes SFW", "New SFW Actions");
}
}
}
shoeSFW();
我非常感谢你提供任何帮助,谢谢你。
答案 0 :(得分:1)
这样的事情应该有效:
for ( var i = 0; i < fileList.length; i++ ) {
open(fileList[i]);
filesOpened++;
if(fileList[i].name.indexOf("zoom") != -1){ //contains "zoom"
app.doAction("foo", "bar"); //first set of actions
} else if(fileList[i].name.indexOf("-") != -1){ //contains "-"
//second set of actions
} else { //everything else
//third set of actions
}
}
或者,如果对“缩放”和“ - ”进行微不足道的检查对您来说还不够,可以使用正则表达式。