Qual é a diferença entre app.doScript e $ .evalFile?

A única diferença que encontrei até agora: se um script que é executado porapp.doScript retorna um erro, o arquivo e o número da linha do erro são substituídos pelo número do arquivo e da linha do erro.app.doScript ligar.

Existem outras diferenças que eu deveria saber?

Aqui está um código de exemplo que demonstra a diferença acima:

Primeira execução do InDesign:

c:
cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"
InDesignServer.com -port 12345
pause

Em seguida, crie um arquivo em lote para executar um script:

c:
cd "C:\Program Files\Adobe\Adobe InDesign CS6 Server x64"
sampleclient -host localhost:12345 -server "C:/doscript_vs_evalfile/call_doScript.jsx"
pause

Isso é "call_doScript.jsx", que chama o app.doScript.

try {
    app.doScript(new File("/c/doscript_vs_evalfile/called_by_doScript.jsx"));
    "Success";
}
catch (e) {
    var sError = "Encountered " + e.name + " #" + e.number + " at line " + e.line + " of file " + e.fileName + "\n" + e.message;
    app.consoleout(sError);
    sError;
}

Isso é chamado "by_by_doScript.jsx", que é chamado pelo script anterior:

app.consoleout("Running called_by_doScript.jsx");
// Produce error
var a = b;

Execute o arquivo em lote e este é o resultado:

02/25/13 13:30:03 INFO  [javascript] Executing File: C:\doscript_vs_evalfile\call_doScript.jsx
02/25/13 13:30:03 INFO  [javascript] Executing File: C:\doscript_vs_evalfile\called_by_doScript.jsx
02/25/13 13:30:03 INFO  [script] Running called_by_doScript.jsx
02/25/13 13:30:03 INFO  [script] Encountered ReferenceError #2 at line 2 of file /c/doscript_vs_evalfile/call_doScript.jsx
b is undefined

Observe que o erro acima está incorreto. O erro foi causado pela linha 3 de called_by_doScript, e não pela linha 2 de call_doScript.

Agora modifique os scripts para usar $ .evalFile e obtemos este resultado:

02/25/13 13:32:39 INFO  [javascript] Executing File: C:\doscript_vs_evalfile\call_evalFile.jsx
02/25/13 13:32:39 INFO  [script] Running called_by_evalFile.jsx
02/25/13 13:32:39 INFO  [script] Encountered ReferenceError #2 at line 3 of file /c/doscript_vs_evalfile/called_by_evalFile.jsx
b is undefined

Observe que o erro agora é relatado no local correto.

Editar:

Eu encontrei documentação esparsa. Ele realmente não responde à minha pergunta, mas descreve diferentes parâmetros opcionais.

doScript: Guia de scripts do Adobe InDesign CS6: JavaScript (link direto)
Consulte a página 16, "Usando o método doScript"

evalFile: Guia de Ferramentas Javascript: Adobe Creative Suite 5
Veja a página 219

questionAnswers(1)

yourAnswerToTheQuestion