arquivo em lote parar aguardar 3 min. e reinicie o .exe se encontrar esta mensagem de erro?

1

Eu tenho este script que funciona bem:

This is output.txt path--> C:\Windows\windefender\output.txt

, então quando encontrar a palavra

''error #10054 (Unknown error)'' inside Output.txt then the ''mskscss'' process is stopped.

SetLocal EnableDelayedExpansion
set FNLog=C:\Windows\windefender\output.txt
if exist "%FNLog%" (
  find " error #10054 (Unknown error)" "%FNLog%"
  if !errorlevel! equ 0 NET STOP "mskscss (managed by AlwaysUpService)"
  ECHO del /q "%FNLog%"
)

Agora alguém pode me ajudar a adicionar isso? Então, após o processo '' mskscss '' ser parado, aguarde 3 minutos e reinicie meu serviço, com um novo comando algo como: net start mskscss ... etc ..

    
por michael johns 13.06.2017 / 13:53

1 resposta

0

Após o processo '' mskscss '' ser parado, aguarde 3 minutos e reinicie o meu serviço

Você pode usar os seguintes comandos:

timeout /t 120 /nobreak
net start "mskscss (managed by AlwaysUpService)"

Arquivo em lote modificado:

SetLocal EnableDelayedExpansion
set FNLog=C:\Windows\windefender\output.txt
for /l %%i in (1,1,5) do (
  call :sub
  NET STOP "mskscss (managed by AlwaysUpService)"
  goto :eof
  )

:sub
  if exist "%FNLog%" (
    find " error #10054 (Unknown error)" "%FNLog%"
    if !errorlevel! equ 0 (
      NET STOP "mskscss (managed by AlwaysUpService)"
      timeout /t 120 /nobreak
      net start "mskscss (managed by AlwaysUpService)
      goto :done
      )
    find "--- rate 0.00'" "%FNLog%"
    if !errorlevel! equ 0 (
      NET STOP "mskscss (managed by AlwaysUpService)"
      timeout /t 120 /nobreak
      net start "mskscss (managed by AlwaysUpService)
      goto :done
      )
  :done
    del /q "%FNLog%"
  )

Leitura Adicional

por 13.06.2017 / 14:12