Скрипт для автоматического сохранения PSD при сохранении PNG

Можете ли вы дать мне скрипт, который будет автоматически сохранять PSD, когда я сохраняю PNG? Я нашел скрипт, который сохраняет PNG при сохранении PSD, я попытался изменить его, но это не сработало :(

main(); 
function main(){ 
    var Name = app.activeDocument.name.replace(/\.[^\.]+$/, ''); 
    var Ext = decodeURI(app.activeDocument.name).replace(/^.*\./,''); 
    if(Ext.toLowerCase() != 'psd') return; 
    var Path = app.activeDocument.path; 
    var saveFile = File(Path + "/" + Name +".png"); 
    if(saveFile.exists) saveFile.remove(); 
    SavePNG(saveFile); 
} 

function SavePNG(saveFile){ 
    pngSaveOptions = new PNGSaveOptions(); 
    activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE); 
} 

Ответы (1)

В приведенном выше коде нет функции сохранения PSD. Ваш код предполагает, что psd уже существует.

Попробуй это

main(); 

function main()
{ 

    var Name = app.activeDocument.name.replace(/\.[^\.]+$/, ''); 
    var Ext = decodeURI(app.activeDocument.name).replace(/^.*\./,''); 
    if(Ext.toLowerCase() != 'psd') return;

    // assumes the file has already been saved
    var Path = app.activeDocument.path; 

    // Save as PSD
    var SaveFile = File(Path + "/" + Name +".psd"); 
    if(SaveFile.exists) SaveFile.remove(); 
    SavePSD(SaveFile);

    // Save as PNG
    SaveFile = File(Path + "/" + Name +".png"); 
    if(SaveFile.exists) SaveFile.remove(); 
    SavePNG(SaveFile);

    alert("File saved as .png and .psd");
} 

function SavePNG(saveFile)
{ 
  var pngSaveOptions = new PNGSaveOptions(); 
  activeDocument.saveAs(saveFile, pngSaveOptions, true, Extension.LOWERCASE); 
}

function SavePSD(saveFile)
{
  var psdFile = new File(saveFile);
  psdSaveOptions = new PhotoshopSaveOptions();
  psdSaveOptions.embedColorProfile = true;
  psdSaveOptions.alphaChannels = true;  
  activeDocument.saveAs(psdFile, psdSaveOptions, false, Extension.LOWERCASE);
}