2016-01-05 2 views
0

У меня действительно проблема со здоровьем.photoshop javascript open atn file

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 не помещается в папку или подпапку, которая содержит пробелы в его имени.

Если у меня есть имя папки, например «скрипт для фотошоп», он не загрузит мой файл atn.

Любые идеи?

Большое вам спасибо!

ответ

1

Кажется, что никто не знает, как это решить, большие программисты. Я нашел решение. Все, что мне нужно сделать, это декодировать путь к файлу. Я только что заменил var atnFile = new File(fileList[a]); на var atnFile= new File(decodeURI(fileList[a]));. Надеюсь, это когда-нибудь поможет кому-то.