Во-первых, операция cmd /k
должна вернуть errorlevel
из 0
, если она была запущена правильно, поэтому ваш вызов eventcreate
должен произойти до вашей команды exit
, а не после вашей :Stoppd
метки у вас есть это в вашем примере.
Во-вторых, если вы хотите, чтобы ваша архивная операция запускалась как порожденный процесс, вы должны поставить start
перед строкой cmd
:
start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize
Это позволит запустить ваш процесс, а затем текущая консоль сможет продолжить и вызвать ваше событие 'archive has started'
.
В-третьих, чтобы получить событие, которое будет создано после завершения операции архивирования, у вас есть пара вариантов:
вы можете объединить две команды вместе, используя &
:
start C:\WINDOWS\system32\cmd.exe /K "Archive Full Text Index Service" –optimize & eventcreate ...
вы можете поместить свой архивный вызов и последующий вызов события в пакетный файл, а затем вызвать его в своем cmd /k
вызове.
start C:\WINDOWS\system32\cmd.exe /K myArchiveAndEventBatch.bat