Indesign 扩展脚本无法在 Mac OS 10.16 中创建文件
Indesign extended Script unable to create a file in Mac OS 10.16
我有一个用于 indesign 脚本的 jsx 脚本。下面的函数用于写入文件。它在 windows 中完美运行。在 mac 中,它无法创建也无法从应用程序文件夹中读取文件。是否与mac中的权限有关??
我确实尝试过使用 applescript 创建文件。该代码运行良好,没有错误,但未创建文件。与以下功能相同。该代码完美运行。但我无法在文件夹中创建 txt 文件。
fileobject = "applications/foldername/filename.txt"
filecontent = "text"
function writeToFile(fileObj, fileContent){
encoding = encoding || "utf-8";
fileObj = (fileObj instanceof File) ? fileObj : new File(fileObj);
var parentFolder = fileObj.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + fileObj.fsName);
fileObj.encoding = encoding;
fileObj.open("w");
fileObj.write(fileContent);
fileObj.close();
return fileObj;
}
我已经在 MacOS 10.13 上试过了,它运行良好:
function writeToFile(fileObj, fileContent) {
encoding = "utf-8";
fileObj = (fileObj instanceof File) ? fileObj : new File(fileObj);
var parentFolder = fileObj.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + fileObj.fsName);
fileObj.encoding = encoding;
fileObj.open("w");
fileObj.write(fileContent);
fileObj.close();
return fileObj;
}
writeToFile('/Applications/folder/filename.txt', 'text');
基本上它也应该适用于 10.16。如果不是,则可能与安全设置有关。将用户文件保存到系统文件夹 /Applications
等不是一个好主意。
您能否尝试将文件保存到用户文件夹中:~/Desktop
或 ~/Downloads
?
我有一个用于 indesign 脚本的 jsx 脚本。下面的函数用于写入文件。它在 windows 中完美运行。在 mac 中,它无法创建也无法从应用程序文件夹中读取文件。是否与mac中的权限有关??
我确实尝试过使用 applescript 创建文件。该代码运行良好,没有错误,但未创建文件。与以下功能相同。该代码完美运行。但我无法在文件夹中创建 txt 文件。
fileobject = "applications/foldername/filename.txt"
filecontent = "text"
function writeToFile(fileObj, fileContent){
encoding = encoding || "utf-8";
fileObj = (fileObj instanceof File) ? fileObj : new File(fileObj);
var parentFolder = fileObj.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + fileObj.fsName);
fileObj.encoding = encoding;
fileObj.open("w");
fileObj.write(fileContent);
fileObj.close();
return fileObj;
}
我已经在 MacOS 10.13 上试过了,它运行良好:
function writeToFile(fileObj, fileContent) {
encoding = "utf-8";
fileObj = (fileObj instanceof File) ? fileObj : new File(fileObj);
var parentFolder = fileObj.parent;
if (!parentFolder.exists && !parentFolder.create())
throw new Error("Cannot create file in path " + fileObj.fsName);
fileObj.encoding = encoding;
fileObj.open("w");
fileObj.write(fileContent);
fileObj.close();
return fileObj;
}
writeToFile('/Applications/folder/filename.txt', 'text');
基本上它也应该适用于 10.16。如果不是,则可能与安全设置有关。将用户文件保存到系统文件夹 /Applications
等不是一个好主意。
您能否尝试将文件保存到用户文件夹中:~/Desktop
或 ~/Downloads
?