Khởi động lại dịch vụ Wildcard


21

Hiện tại, chúng tôi đã thiết lập tệp .BAT liệt kê tất cả các dịch vụ để bắt đầu / dừng chúng, vd.

SC start SERVICE
SC start SERVICE

SC stop SERVICE
SC stop SERVICE

Chúng tôi thêm các dịch vụ mới mọi lúc và danh sách phát triển và rất khó để duy trì tệp bó.

Có thể sử dụng WILDCARD như 'SC bắt đầu DỊCH VỤ *' hay không?


1
Phiên bản windows nào?
Endoro

Câu trả lời:


17

Bạn có thể sử dụng wmicvà cú pháp ký tự đại diện SQL-ish.

Từ cmdbảng điều khiển:

wmic service where "name like 'SERVICE%'" call startservice

Từ một .batkịch bản:

wmic service where "name like 'SERVICE%%'" call startservice

Động từ có sẵn bao gồm startservice, stopservice, pauseservice, resumeservice, và những người khác. Làm wmic service call /?để biết thêm.


1
Ngôn ngữ truy vấn được gọi là WQL, BTW. Đây là một tập hợp con của SQL.
Bob

@Bob - Ồ. Ya học một cái gì đó mới mỗi ngày. :>
rojo

Chỉ muốn thêm một điều nữa. Tôi gặp phải một lỗi trong đó tên dịch vụ không được công nhận. Hóa ra một dịch vụ có Tên dịch vụ và Tên hiển thị. Tên dịch vụ nên được sử dụng, không phải Tên hiển thị. Bạn có thể tìm thấy Tên dịch vụ vớisc query
jdramer

13

Dễ dàng, thông qua Powershell:

Get-service SERVICE* | stop-service -force

Get-service SERVICE* | start-service

Tôi đã nâng cấp cái này vì nó chạy CÁCH nhanh hơn wmic. Trên máy của tôi, tôi mất khoảng 2 mili giây để có danh sách các dịch vụ theo cách này. Phải mất khoảng 13000 mili giây bằng cách sử dụng wmic.
arjabbar

Làm thế nào để tôi kết hợp hai lệnh này trong một lần đi?
Raja Anbazhagan

0

nếu bạn muốn một lệnh One Line,

Bạn có thể sử dụng Cmdlet khởi động lại dịch vụ được xây dựng sẵn trong powershell.

Để sử dụng Restart-Service, chỉ cần gọi lệnh ghép ngắn theo sau là tên dịch vụ:

Restart-Service mysql57

Để khởi động lại nhiều dịch vụ, chỉ cần chỉ định tên của từng dịch vụ, được phân tách bằng dấu phẩy:

Restart-Service mysql57,apache

Nếu bạn thích, hãy thêm tham số -displayname và chỉ định tên hiển thị dịch vụ (tên được hiển thị trong phần đính kèm Dịch vụ):

Restart-Service -displayname "Mysql 5.7 server"

Cmdlet này cũng chấp nhận kết hợp ký tự đại diện. Để khởi động lại tất cả các dịch vụ bắt đầu bằng "mysql":

Restart-Service mysql*
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.