와일드 카드 서비스 다시 시작


21

현재 우리는 서비스를 시작 / 중지하는 모든 서비스를 나열하는 .BAT 파일을 설정했습니다.

SC start SERVICE
SC start SERVICE

SC stop SERVICE
SC stop SERVICE

우리는 항상 새로운 서비스를 추가하고 목록이 커지고 배치 파일을 유지하기가 어렵습니다.

'SC start SERVICE *'와 같은 WILDCARD를 사용할 수 있습니까?


1
어떤 Windows 버전입니까?
엔도로

답변:


17

wmicSQL-ish 와일드 카드 구문을 사용할 수 있습니다 .

A로부터 cmd콘솔 :

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

A로부터 .bat스크립트 :

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

사용 가능한 동사에는 startservice, stopservice, pauseservice, resumeservice, 등을. 수행 wmic service call /?추가 정보를 원하시면.


1
쿼리 언어를 WQL, BTW라고합니다. SQL의 하위 집합입니다.
Bob

@ 밥-오. 나중에 매일 새로운 것을 배웁니다. :>
rojo

하나만 더 추가하고 싶었습니다. 서비스 이름을 인식하지 못하는 오류가 발생했습니다. 서비스에 서비스 이름과 표시 이름이 있습니다. 표시 이름이 아닌 서비스 이름을 사용해야합니다. 서비스 이름은sc query
jdramer

13

Powershell을 통해 쉽게 :

Get-service SERVICE* | stop-service -force

Get-service SERVICE* | start-service

wmic보다 WAY가 빠르기 때문에 이것을 올렸습니다. 내 컴퓨터 에서이 방법으로 서비스 목록을 얻는 데 약 2 밀리 초가 걸립니다. wmic를 사용하는 데 약 13000 밀리 초가 걸립니다.
arjabbar

이 두 명령을 한 번에 어떻게 결합합니까?
Raja Anbazhagan

0

원 라인 명령을 원한다면

Powershell 에 사전 제공된 Restart-Service Cmdlet 을 사용할 수 있습니다 .

Restart-Service를 사용하려면 cmdlet과 서비스 이름을 차례로 호출하면됩니다.

Restart-Service mysql57

여러 서비스를 다시 시작하려면 각 서비스의 이름을 쉼표로 구분하여 지정하십시오.

Restart-Service mysql57,apache

원하는 경우 -displayname 매개 변수를 추가하고 대신 서비스 표시 이름 (서비스 스냅인에 표시되는 이름)을 지정하십시오.

Restart-Service -displayname "Mysql 5.7 server"

이 Cmdlet은 와일드 카드 일치도 허용합니다. "mysql"로 시작하는 모든 서비스를 다시 시작하려면

Restart-Service mysql*
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.