Chciałbym móc zapytać, czy usługa jest uruchamiana z pliku wsadowego systemu Windows. Wiem, że mogę używać:Jak sprawdzić, czy usługa jest uruchomiona z wiersza polecenia
sc query "ServiceName"
ale to zrzuca się jakiś tekst. To, czego naprawdę chcę, to ustawienie zmiennej środowiskowej errorlevel
, dzięki czemu mogę podjąć odpowiednie działania.
Czy znasz prosty sposób, w jaki mogę to zrobić?
UPDATE
Dziękuję za odpowiedzi do tej pory. Martwię się, że rozwiązania analizujące tekst mogą nie działać w systemach operacyjnych innych niż angielski. Czy ktoś wie, jak to obejść, czy też będę musiał ugryźć bullet i napisać program konsoli, aby to naprawić.
właśnie testowane na Chiny locale chiński Język Windows 7 laptopem, "query sc ..." wyjście polecenia są nadal angielski. – wangf
Aby uzyskać stan usługi, który będzie łatwy do przeanalizowania przez skrypt bez względu na używany język OS, użyłem 'usługi WMIC Service WHERE" Name = 'SericeName' "GET Started/format: list'. Tworzy 'State = Running' - łatwe do parsowania przez wyrażenie regularne i zawsze w języku angielskim. –