防止批处理文件在调用第三方 CLI 命令后提前终止

问题描述 投票:0回答:1

我正在尝试使用批处理文件调用第三方 CLI(ArcGIS Enterprise 自定义数据源)来自动创建一些样板代码。但是,一旦对第一个 CLI 命令

cdf createapp <app name>
的调用完成,批处理文件就会退出,因此脚本的其余部分不会执行。

createapp 的调用正在执行它应该做的事情,但它似乎返回了一些导致批处理文件在该点停止的东西。有没有办法处理这个问题以阻止这种情况发生?

我尝试将 CLI 命令放入各自单独的批处理文件中,然后从原始批处理文件中调用它们,但这没有帮助。

下面的代码片段:

成功执行

cdf createapp
后脚本停止,没有错误消息。

@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%)...
cdf createapp %cdf-app-name%
cd %cdf-app-name%
echo Creating new cdf provider (%data-provider-name%)...
cdf createprovider %data-provider-name%
cd providers\%data-provider-name%
echo Installing packages (ws, node-fetch, uuid)...
npm install [email protected]
npm install [email protected]
npm install [email protected]
cd ..\..\..\
echo Copying source files (constructGeoJSON.js, model.js)...
 
batch-file arcgis
1个回答
0
投票

感谢所有宝贵的反馈。实际上,magoo 的第一条评论就达到了目的,即在 cdf 调用之前添加 CALL。但其余的学习起来非常方便。 echooff 是复制粘贴时发生的事情,它在脚本Mofi 中被 echo off。另外,我说我尝试将调用拆分为单独的批处理文件,这引起了一些混乱。该代码是原始的单个批处理文件解决方案。

@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 [email protected]
call npm install [email protected]
call npm install [email protected]
cd ..\..\..\
echo Copying source files (constructGeoJSON.js, model.js)...
© www.soinside.com 2019 - 2024. All rights reserved.