打开可执行文件后继续处理bat文件
Continue processing bat file after opening executable
我正在通过 .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
命令(正如@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
我正在通过 .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
命令(正如@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