首页 > 解决方案 > Extendscript 是否能够使用文件对象( File. )复制文件?

问题描述

想要复制具有新文件扩展名的本地目录中的文件。我没有看到任何使用文件对象复制文件的文档。

我看到了File.copy()等功能,但与复制或保存无关,没有带有新名称和扩展名的对话框。

var targetFile = new File('myFile');
targetFile.saveDlg('newFileName' + 'extension');

标签: adobeextendscript

解决方案


要通过代码做到这一点,您必须更加明确。你可以试试这个:

function duplicateFile(path) {
  var content, extension, file, fileOk, name, newFile, newPath;
  file = new File(path);
  if(!file) {
    return
  }

  fileOk = file.open('r');

  if(fileOk){
    //Get file extension
    name = file.name.split('.');
    extension = name.pop();
    name.join('.');

    //Creating new file
    //Becareful with the name, you must to check that a file with the same name doesn't exists
    //if you don't want to overwrite it.
    name = name + '_copy.' + extension 
    newPath = file.parent.fsName + '/' + name
    newFile = new File(newPath);
    fileOk = newFile.open('w');

    //Writing content to new file
    if (fileOk) {
      newFile.write(content);
      newFile.close(); //Remember to close the files
    }
    file.close()
  }
}

推荐阅读