【问题标题】:Continue processing bat file after opening executable打开可执行文件后继续处理bat文件
【发布时间】: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


【解决方案1】:

尝试START 命令(如@Squashman 建议的那样):

START "title" [/D path] [options] "command" [parameters]

这样的东西(为了可读性而扩展)

 @echo off
 set "pspath=C:\Program Files\Adobe\Adobe Photoshop CS6 (64 Bit)\Photoshop.exe"
 set "jsxpath=path\PS_Color_Settings.jsx"
 set "title=not required"

 start "%title%" "%pspath%" "%jsxpath%"
 echo Opened Photoshop, still running...
 pause

【讨论】:

    猜你喜欢
    • 2013-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-21
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 2018-09-07
    相关资源
    最近更新 更多