【发布时间】:2016-11-17 17:05:43
【问题描述】:
我正在通过 .bat 脚本调用 .jsx 脚本(.bat 是我的用户必需的启动脚本)。 .jsx 正在启动具有特定颜色设置的 Photoshop。 .jsx 运行后 .bat 不会继续。
我可以手动退出 Photoshop,.bat 将继续。有人知道如何在调用 .jsx 后让 .bat 继续运行吗?
.bat 脚本:
"C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Photoshop.exe" "path\PS_Color_Settings.jsx"
.jsx 脚本:
setColorSettings();
function setColorSettings() {
var desc = new ActionDescriptor();
var ref = new ActionReference();
ref.putProperty( charIDToTypeID( "Prpr" ), stringIDToTypeID( "colorSettings" ) );
ref.putEnumerated( charIDToTypeID( "capp" ), charIDToTypeID( "Ordn" ), charIDToTypeID( "Trgt" ) );
desc.putReference( charIDToTypeID( "null" ), ref );
var colorSettingsDesc = new ActionDescriptor();
colorSettingsDesc.putString( stringIDToTypeID( "workingRGB" ), """sRGB IEC61966-2.1""" );
colorSettingsDesc.putEnumerated( stringIDToTypeID( "policyRGB" ), stringIDToTypeID( "policy" ), charIDToTypeID( "Cnvr" ) );
colorSettingsDesc.putBoolean( stringIDToTypeID( "askMismatchOpening" ), true );
colorSettingsDesc.putBoolean( stringIDToTypeID( "askMismatchPasting" ), true );
colorSettingsDesc.putBoolean( stringIDToTypeID( "askMissing" ), true );
desc.putObject( charIDToTypeID( "T " ), stringIDToTypeID( "colorSettings" ), colorSettingsDesc );
executeAction( charIDToTypeID( "setd" ), desc, DialogModes.NO );
}
在 .jsx 运行并启动 Photoshop 后,.bat 脚本将停止并且不会继续执行后续步骤。我曾尝试在调用 .jsx 后插入一个“GOTO”和一个“END”,但似乎没有什么能让 .bat 脚本重回正轨。有什么想法吗?
【问题讨论】:
-
使用
START命令启动程序。start "" "C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Photoshop.exe" "path\PS_Color_Settings.jsx" -
我不认为这是一个 Java 问题。如果你在上面贴上不同的标签,你更有可能从熟悉 JSX 的人那里得到答案。
-
请注意,JSX 没有运行 Photoshop。相反,向 Photoshop 提供了一个 JSX 文件(如 XML 或 .properties 文件),它可以根据需要使用它(很可能在 javascript 环境中执行它以配置自身)。总之,问题很简单:您希望可执行文件的执行不阻止它启动的 .bat 脚本的执行(@Squashman 在上面回答的问题)。
标签: batch-file photoshop