问题描述
我为 InDesign 编写了一个脚本,并使用 doScript 来运行一个 bat 文件。此脚本适用于某些系统,而不适用于其他系统。 错误在图像中。
我以管理员身份运行 InDesign。但它给出了另一个错误。
如何修复错误?
function batFile(str) {
var path = "~\\AppData\\Roaming\\test\\";
var filename = 'b1.bat';
var file1 = new File(path + filename);
file1.encoding = 'UTF-8';
file1.open('w');
var txt = "systeminfo | findstr /B /C:\"OS Name\" /C:\"OS Version\">%appdata%\\test\\t1.txt"
file1.write(txt);
file1.close();
var cmdcode = "CreateObject(\"WScript.Shell\").Run \"%appdata%\\test\\b1.bat\",True";
app.doScript(cmdcode,ScriptLanguage.visualBasic,undefined,UndoModes.FAST_ENTIRE_SCRIPT);
var result = path + "t1.txt";
var arry = openFile2(result);
if (arry.length != 0) {
return arry;
} else {
return "null";
}
}
**
更新
我发现了问题。 当用户名由两部分组成时,例如“您的姓名”会导致此问题。为了解决这个问题,我们需要将地址放在两个双引号中。
var txt = "systeminfo | findstr /B /C:\"OS Name\" /C:\"OS Version\">\"%appdata%\\test\\t1.txt"\"
**
解决方法
这是 UserVoice 中报告的已知错误:https://indesign.uservoice.com/forums/601180-adobe-indesign-bugs/suggestions/41072476-type-library-is-not-automatically-created-by-cc202。解决这个问题的一个常见技巧是,在客户端机器上至少以管理员运行一次 InDesign。这将激活 VBS 支持。
,我不知道你的脚本有什么问题。但为了以防万一,你可以这样运行 bat 文件:
var bat_file = File("your_file.bat");
bat_file.execute();