父 MSAccess 进程的 Batch Taskkill 问题

Issues with Batch Taskkill of Parent MSAccess Process

进程树:

我有一个 MS Access 版本控制宏,可以在打开时检查用户当前的文件版本,如果不是最新的,宏会启动一个批处理文件,1) 应该 删除他们当前的文件,然后 2) 从网络上复制最新的前端版本并将其粘贴到他们的本地系统上。

我的问题:

除了删除用户的原始文件外,一切正常。由于此文件是批处理文件的父进程,因此我还没有找到终止任务的方法,因此可以将其删除。

当前代码:

TASKKILL /F /fi /IM MSACCESS.EXE /T

del "%originalFile%"

**我想我可能遇到了问题,因为批处理是 Access 进程的子进程,所以我也尝试过但没有成功:

TASKKILL /F /fi /IM MSACCESS.EXE

我总是得到错误:

ERROR: Invalid syntax. Value expected for '/fi'.

这是漫长的一天,所以我想我错过了一些简单的东西,希望多一双眼睛。任何帮助将不胜感激!

我有类似的设置,但没有 TASKKILL。

启动我的更新批处理后,我立即执行 Application.Quit

' If need to update
Shell UPDATE_BATCH, vbNormalFocus
Application.Quit

并且在更新批处理中,我等待 3 秒,以便 Access 有足够的时间退出(并释放前端的锁)。

sleep.exe 3
REM ... copy new frontend ...
sleep.exe 1
REM ... start MSACCESS command line ...

如何"sleep"?请参阅此处:SLEEP.exe (2003 Resource Kit) 了解不同的变体。