1

在我的 javascript 中,在 Windows 7、Photoshop CS2 和 Photoshop CS5 中,它会引发错误:

错误 8800:出现一般 Photoshop 错误。此功能在此版本的 Photoshop 中可能不可用。
- 无法将副本另存为“C:...\wcb-010B-11Y.jpg”,因为找不到文件。
行:458
-> docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);

这是保存图像的代码摘要:

var selectedSaveDir = "~/Desktop/";
var sFileNamePreFix = "wcb-";
var docRef = app.activeDocument; 
var docName = app.activeDocument.name;
var docNewName = docName.substr( 0, docName.length - 4 );  // strip file extension
var sNewDocName = sFileNamePreFix + docNewName + ".jpg"
var sNewFileName = selectedSaveDir + sNewDocName;
//alert( "sNewFileName = " + sNewFileName );     // test to verify correct location
var saveFile = new File(sNewFileName);
jpgSaveOptions = new JPEGSaveOptions();
jpgSaveOptions.quality = 12;
docRef.saveAs(saveFile, jpgSaveOptions, true, Extension.LOWERCASE);

在 Windows XP 中,此脚本在 CS2 中运行良好,没有任何问题....只是在 Windows 7 中,使用 CS2 或 CS5 会出现此问题。

问题似乎类似于:Photoshop Javascript 脚本保存和关闭文档 但我不知道他的操作系统。

我添加了“alert(”并确认保存文件夹和名称正确,可以保存到,但同样的问题。

这可能是 Windows 7 中的 UAC 问题吗?你如何修复它?我已经关闭了所有 UAC 设置(我认为我做得正确),但它仍然会发生。

任何帮助?

4

2 回答 2

0

你错过了“var docRef = app.activeDocument;” (我已经添加了);但除此之外,在 CS2 中,脚本将 jpeg 保存到桌面(wcb-text test.jpg)。这很明显,但是您是否确保图像已展平或不包含任何无法存储在 jpeg 中的信息 - 例如路径。

在保存之前尝试强制展平

//flatten the image
docRef.flatten(); 

要尝试的另一件事是将文件保存到另一个目录。我知道长文件名(尤其是其中的空格)可能会导致问题 - 我认为文件路径中的字符数限制为 300 个。

于 2012-10-15T08:56:41.623 回答
0

我刚刚发现,在新版本的 PS 中,这个特定的路径变量给出了错误 8800:

var selectedSaveDir = "~/Desktop/";

改用完整路径并使用撇号代替引号:

var selectedSaveDir = 'C:/Users/yourname/Desktop/';
于 2018-07-23T09:11:04.183 回答