You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

解决批处理调用第三方CLI命令后提前终止的问题

批处理执行ArcGIS CDF CLI后终止的解决方案

问题根源在于第三方CLI工具cdf本身是批处理脚本,直接在你的批处理中执行时会替换当前批处理进程,导致后续代码无法继续运行。

解决方法是给所有调用cdf和npm的命令前加上call,call会在子进程中执行目标脚本,完成后返回原批处理继续执行后续命令。

修改后的批处理代码如下:

@echo off
echo Start of create cdpk script
echo ---------------------------
set cdf-app-name=%1
set data-provider-name=%2
echo Supplied arguments cdf-app-name=%cdf-app-name%, data-provider-name=%data-provider-name%
echo Creating new cdf app (%cdf-app-name%)...
call cdf createapp %cdf-app-name%
cd %cdf-app-name%
echo Creating new cdf provider (%data-provider-name%)...
call cdf createprovider %data-provider-name%
cd providers\%data-provider-name%
echo Installing packages (ws, node-fetch, uuid)...
call npm install ws@8.15.1
call npm install node-fetch@2.7.0
call npm install uuid@9.0.1
cd ..\..\..\
echo Copying source files (constructGeoJSON.js, model.js)...

补充说明:如果cdf是.exe可执行文件,那可能是命令返回错误触发批处理终止,可以在命令后添加&强制继续执行,或者用if errorlevel判断错误码并处理,但绝大多数这类场景都是批处理脚本调用的问题,优先用call解决。

内容的提问来源于stack exchange,提问作者DrDarrio

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.26 14:42:03