首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.bat完成后,Control-M作业未结束

.bat完成后,Control-M作业未结束
EN

Stack Overflow用户
提问于 2013-04-04 21:48:08
回答 4查看 2.3K关注 0票数 0

我有一个映射网络驱动器的.bat文件,运行一个MS Access程序,然后删除映射的驱动器并退出。当我通过Control-M运行它时,.bat会运行并完成,但Control-M中的作业永远不会结束。我已经尝试了多种方法来结束文件,以便向Control-M发送退出代码,但似乎都不起作用。代码如下:

代码语言:javascript
复制
@echo off
net use w: [path]
"C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "Y:\MSAccess.mdb"
net use w: /delete

在这段代码之后,我尝试了以下命令:

exit

_exit 0

timeout /T 10

无论我怎么尝试,Control-M似乎都不知道作业已经完成。Control-M的sysout也没有显示任何类型的退出代码被发回。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-04-15 22:54:35

经过更多的测试和调查,这个问题早在.bat中就出现了。MS Access数据库从未打开和运行过。因此,由于它从未启动,因此它从未结束或发送错误代码。我正在研究为什么MS Access数据库现在没有运行,这可能会导致另一个问题。

票数 0
EN

Stack Overflow用户

发布于 2013-04-04 23:46:49

Control-M可能正在等待在其下启动的所有进程在退出作业本身之前退出。在您的示例中,当到达BAT的末尾时,MSACCESS仍在运行,因此它会阻止Control-M作业完成。

如果您有BAT等待MSACCESS完成,

代码语言:javascript
复制
net use w: [path]
start /b /wait "" "C:\Program Files\Microsoft Office\OFFICE11\MSACCESS.EXE" "Y:\MSAccess.mdb"
net use w: /delete

这可能会缓解(至少是悄悄地)你的问题。

票数 0
EN

Stack Overflow用户

发布于 2019-08-22 03:38:03

我也有同样的问题。我通过在bat文件的末尾添加以下内容来解决我的问题:

代码语言:javascript
复制
exit /b %errorlevel%
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15813159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档