photoshop javascript open atn file

时间:2016-01-05 15:05:37

标签: javascript regex decode photoshop

我有一个非常烦人的问题。

var Scriptfile = new File($.fileName);  
var basePath = Scriptfile.path; 
var topFolder = new Folder(basePath+"/actions");
var fileandfolderAr = scanSubFolders(topFolder,/\.(atn)$/i);
var fileList = fileandfolderAr[0];

for (var a = 0 ;a < fileList.length; a++) {
  var atnFile = new File(fileList[a]);
  alert(atnFile.name);
  var rex = new RegExp (decodeURI(atnFile.name.replace(/\.[^\.]+$/, '')), "g");
  if (!atnFile.exists) {
    alert("Your ActionSet does not exist!\nPlease contact your administrator.");
    return false;
  }
  var actionList = getActionSets();
  //if ActionSet Exists remove it.
  var flag = 0;
  for (var d in actionList) {
    if (decodeURI(actionList[d]).match(rex)) {
      flag = 1; 
      continue;
    }    
  }
  if (!atnFile.exists) {
    alert("File does not exist");
    return false;
  }
  if (flag == 0) {
    app.load(atnFile);
  }
}

如果atn文件没有放在包含名称空格的文件夹或子文件夹中,那么这段代码就可以正常工作。

如果我有像“photoshop script”这样的文件夹名称,它将不会加载我的atn文件。

有什么想法吗?

非常感谢你!

1 个答案:

答案 0 :(得分:1)

似乎没有人知道如何解决这个问题,你是大程序员。我找到了解决方案。我所要做的就是解码文件的路径。我刚刚将var atnFile = new File(fileList[a]);替换为var atnFile= new File(decodeURI(fileList[a]));。我希望这会在某个时候帮助别人。