Batch Script để khởi động lại một ứng dụng

Mục lục:

Batch Script để khởi động lại một ứng dụng
Batch Script để khởi động lại một ứng dụng

Video: Batch Script để khởi động lại một ứng dụng

Video: Batch Script để khởi động lại một ứng dụng
Video: Cấu hình các yêu cầu trên ISA - YouTube 2024, Có thể
Anonim

Các sự kiện hệ thống và / hoặc môi trường phổ biến như nối lại từ chế độ chờ hoặc mất kết nối mạng có thể gây ra sự cố cho một số ứng dụng nhất định luôn được kết nối và kết nối. Vì vậy, nếu bạn có một ứng dụng nào đó bị treo hoặc chuyển sang chế độ "không phản hồi" một cách thường xuyên và khởi động lại là sửa chữa duy nhất cho nó, chúng tôi có một cách khắc phục đơn giản cho bạn dưới dạng một tập lệnh có thể tùy chỉnh. khởi động lại nó.

Ngoài tình hình hiển nhiên ở trên, tập lệnh này có thể được sử dụng cho nhiều tác vụ hữu ích khác nhau, chẳng hạn như:

  • Dễ dàng khởi động lại ứng dụng bằng cách nhấp đúp hoặc sử dụng phím nóng.
  • Chỉ khởi động lại chương trình khi nó bị treo hoặc không trả lời.
  • Chạy dưới dạng tác vụ được lập lịch để đảm bảo ứng dụng luôn chạy.
  • Bất cứ nơi nào khác bạn muốn tự động khởi động lại có điều kiện của một ứng dụng.

Tùy chỉnh kịch bản nên được khá tự giải thích bởi các ý kiến, vì vậy chỉ cần cấu hình kịch bản một cách thích hợp và tất cả các bạn đã được thiết lập.

Kịch bản

@ECHO OFF ECHO Restart Application ECHO Written by: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Enter the application information. SET AppName=Application Name SET ExeFile=FileToLaunch.exe SET ExePath=C:PathToApplication REM Select the conditions to kill the application. REM A value of 1 = Yes, 0 = No SET KillIfRunning=1 SET KillIfNotResponding=1 SET KillIfUnknownStatus=1 REM Specify when to start the application: REM 1 = Start only if the process was previous killed. REM 0 = Start the application regardless. SET StartOnlyIfKilled=1 SET KillStatus='%TEMP%KillStatus.tmp.txt' SET Success=0 ECHO Killing existing %AppName% instance… IF {%KillIfRunning%}=={1} CALL:CheckKillStatus '%ExeFile%' 'RUNNING' IF {%KillIfNotResponding%}=={1} CALL:CheckKillStatus '%ExeFile%' 'NOT RESPONDING' IF {%KillIfUnknownStatus%}=={1} CALL:CheckKillStatus '%ExeFile%' 'UNKNOWN' ECHO. IF {%StartOnlyIfKilled%}=={1} ( IF {%Success%}=={0} GOTO End ) ECHO Restarting %AppName%… START '%ExeFile%' '%ExePath%%ExeFile%' ECHO. IF EXIST %KillStatus% DEL /F /Q %KillStatus% ENDLOCAL:CheckKillStatus ECHO Killing with status: %~2 TASKKILL /FI 'STATUS eq %~2' /IM '%~1' /F > %KillStatus% SET /P KillResult= < %KillStatus% FOR /F 'tokens=1,* delims=:' %%A IN ('%KillResult%') DO ( ECHO %%A:%%B IF /I {%%A}=={SUCCESS} SET /A Success=%Success%+1 ):End

Phần kết luận

Trong khi bạn có thể tìm thấy các ứng dụng trên mạng có chức năng cơ bản giống nhau, sử dụng một tập lệnh đơn giản như thế này tránh được “một chương trình khác” đang chạy trong nền.

Đề xuất: