Trang chủ » làm thế nào để » Batch Script để khởi động lại ứng dụng một cách có điều kiện

    Batch Script để khởi động lại ứng dụng một cách có điều kiện

    Các sự kiện hệ thống và / hoặc môi trường phổ biến như tiếp tục 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 sẽ luôn được bật và kết nối. Vì vậy, nếu bạn có một ứng dụng nào đó gặp sự cố hoặc gặp sự cố với Chế độ không thường xuyên phản hồi và chế độ khởi động lại là cách khắc phục 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 tập lệnh bó tùy chỉnh để giết ứng dụng và khởi động lại nó.

    Ngoài tình huống rõ ràng ở trên, tập lệnh này có thể được sử dụng cho nhiều tác vụ hữu ích, 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 phản hồi.
    • Chạy như một tác vụ theo lịch trình để đả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 hóa khởi động lại có điều kiện của một ứng dụng.

    Việc tùy chỉnh tập lệnh sẽ khá tự giải thích bởi các bình luận, vì vậy chỉ cần cấu hình tập lệnh một cách thích hợp và bạn đã hoàn tất.

    Kịch bản

    @ECHO TẮT ECHO Khởi động lại ứng dụng ECHO Viết bởi: Jason Faulkner ECHO SysadminGeek.com ECHO. ECHO. SETLOCAL EnableExtensions REM Nhập thông tin ứng dụng. SET AppName = Tên ứng dụng SET exeile = FileToLaunch.exe SET exPath = C: PathToApplication REM Chọn các điều kiện để hủy ứng dụng. REM Giá trị 1 = Có, 0 = Không SET Kill IfRasty = 1 SET Kill IfNotR tương ứng = 1 SET Kill IfUn UnknownStatus = 1 REM Chỉ định khi nào khởi động ứng dụng: REM 1 = Chỉ bắt đầu nếu quá trình bị hủy trước đó. REM 0 = Bắt đầu ứng dụng bất kể. SET StartOnly IfKills = 1 SET KillStatus = "% TEMP% KillStatus.tmp.txt" SET Thành công = 0 ECHO Giết% AppName% dụ hiện tại IF % Kill IfRucky% == 1 CALL: CheckKillStatus "% exFile%" "NẾU % Kill IfNotR tương ứng% == 1 GỌI: CheckKillStatus"% exeile% " NẾU % StartOnly IfKills% == 1 (NẾU % Thành công% == 0 Kết thúc GOTO) ECHO Khởi động lại% AppName% BẮT ĐẦU "% exeile%" "% exPath %% exeile%" ECHO. NẾU EXIST% KillStatus% DEL / F / Q% KillStatus% ENDLOCAL: CheckKillStatus ECHO Giết chết với trạng thái:% ~ 2 TASKKILL / FI "STATUS eq% ~ 2" / IM "% ~ 1" / F>% KillStatus% 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

    Mặc dù bạn có thể tìm thấy các ứng dụng ngoài đó thực hiện cùng một chức năng, sử dụng một tập lệnh đơn giản như thế này để tránh việc có một chương trình khác chạy trên nền.