如何确定何时启动程序,然后通过cmd批处理文件关闭程序,然后在程序关闭时创建rem

时间:2018-07-27 19:30:55

标签: windows batch-file cmd

我想保持简单。我有一个要从受信任的用户计算机或通过任务计划程序运行的ACCESS DB批处理文件。 Batchrun.mdb运行其查询,然后自动退出。我想知道我们如何知道它何时真正关闭-是否和何时完成,我想添加一条rem行,上面写着更新完成或与时间相似。谢谢!我无法通过Google找到任何关于此的信息。关键是要知道该程序实际上已打开和关闭。如果我可以使出口/ b正常工作,则将其删除。

批处理文件:

Start "" "E:\REDACTED\Batch Files\Batchrun.mdb"

Exit /b

1 个答案:

答案 0 :(得分:1)

要在代码中添加REM,可以执行Echo Rem [%date% %time%] update complete>>"%~f0"-正如@LotPings发布的那样-可以使用tasklist进行批处理循环以查找程序。终止后,它将结束循环并在脚本中打印REM时间戳记并退出。

@ECHO OFF
@SETLOCAL EnableDelayedExpansion

Start "" "E:\REDACTED\Batch Files\Batchrun.mdb"
Echo Rem [%date% %time%] Application Opened>>"%~f0"

:ProcessLoop
tasklist /FI "IMAGENAME eq Batchrun.mdb" 2>NUL | find /I /N "Batchrun.mdb">NUL
if "%ERRORLEVEL%"=="0" (GOTO :ProcessLoop) ELSE (GOTO :Closed)

:Closed
Echo Rem [%date% %time%] Application Closed>>"%~f0"
Exit /b

:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:: LOG