Ich verwende eine Batch-Datei, die etwa 10 Befehle verarbeitet. Auf einer bestimmten Ebene möchte ich nur fortfahren, wenn mein spezieller Window-Service in einem "running" -Zustand ist. Wie erfahre ich den Status eines Dienstes mit dem Befehl cmd
? Und wie speichere ich das Ergebnis eines Befehls in einer Variablen in einer Batch-Datei oder führe einen Befehl in einer Batch-Datei aus, abhängig vom Ergebnis eines anderen Befehls?Wie Sie den Status eines Fensterdienstes mithilfe der Eingabeaufforderung kennen
Antwort
Schauen Sie sich dieses Skript http://pastebin.com/dyG9XYhC an, wir verwenden es zum Neustarten und Stoppen von Diensten.
@echo off
sc query Dhcp | findstr /i "STATE"
pause
Sie können den folgenden Befehl verwenden, um festzustellen, ob ein Dienst läuft oder nicht:
sc query ServiceName | findstr /i "STATE"
Wenn ich es für DHCP-Dienst laufen, erhalte ich:
STATE : 4 RUNNING
Wenn es gestoppt wurde, würde ich erhalten:
STATE : 1 STOPPED
Hinweis: Der Servicename sollte der Dienstname, sein nicht die Anzeigenamen.
EDIT auf 2016.05.05 @ 16: 20
Dieses Beispiel für den Zustand einiger Dienste mit FOR
Befehl Überprüfung:
@echo off
Title Checking the state of some Services
set ServiceName=MozillaMaintenance MDM AdobeFlashPlayerUpdateSvc Winmgmt wuauserv^
^ ALG AIPS Themes gupdate gupdatem msiserver AppInfo AppMgmt PlugPlay Power bthserv^
^ NetLogon SamSs ProtectedStorage W32Time pla MpsSvc UxSms TabletInputService
For %%a in (%ServiceName%) do (
echo Service %%a & sc query %%a | findstr /i "STATE"
)
pause
danke für die Antwort, aber ich muss den Dienststatus in einer anderen Variablen für die weitere Verwendung wiederherstellen. – Ajay
- 1. So verfolgen Sie den Status eines POJO mithilfe der Codegenerierung
- 2. So erkennen Sie den Status eines ProgressDialogs
- 3. Wie kann ich den Status eines neu bereitgestellten BareMetal-Servers mithilfe der REST-API
- 4. Wie überprüfe ich den Status eines Qualitätsfensters für ein Projekt mithilfe der API?
- 5. Wählen Sie den Status eines UIButton
- 6. Wie kann ich den Status eines Anrufs kennen - Asterisk und PHP?
- 7. Wie den Status eines Java PreparedStatement.executeQuery bekommen (..)
- 8. Wie mithilfe von Display (Eingabeaufforderung) Attributs über Modellklasse
- 9. So geben Sie den Status der Redux-Reduzierungen zurück
- 10. kennen den Endpunkt eines USB-Geräts
- 11. Wie ändere ich den Status eines Einstellungselements außerhalb der PreferenceActivity?
- 12. Wie erkennen Sie den Status der Anwendung statt der Aktivität?
- 13. Setzen Sie den Status von BottomSheetDialogFragment auf den erweiterten Wert
- 14. Wie kann ich den Projekttyp eines VS C# -Projekts kennen?
- 15. Anhängen eines ausgewählten Status mithilfe von JQuery in React-Komponente
- 16. So erhalten Sie den Ordnertyp mithilfe der Outlook-REST-API
- 17. Kennen Sie die Tiefe eines Wörterbuchs
- 18. Erhalten Sie den Exit-Status eines Prozesses in Bash
- 19. Finden Sie die Anzahl der CPUs und Kerne pro CPU mithilfe der Eingabeaufforderung
- 20. Speichern Sie den Status eines Formulars mit PictureBox?
- 21. Wie testen Sie den Google Purchase-Dialog mithilfe der Automatisierung?
- 22. Wie würden Sie den aktuellen Status der Android-Plattform beschreiben?
- 23. Wie wird die Größe des Status festgelegt? Nachdem der untergeordnete Status mithilfe von AIR verschoben wurde?
- 24. Den Status eines Delegat-Threads abrufen
- 25. Wissen über den Status eines Bonjour-Dienstes
- 26. So ändern Sie den Attributwert mithilfe der Reflektion
- 27. Wie ermittelt Android den Status der Internetverbindung?
- 28. Deinstallieren eines über MSI installierten Programms - Nur den Installationsort kennen
- 29. WPF: Erstellen eines Dialogfelds/Eingabeaufforderung
- 30. Wie man den Status eines Kontrollkästchens mit AndroidViewClient
Zur Kontrolle Dienste gibt es die ' sc' Befehl (und seine Unterbefehle 'query' /' queryex') - geben Sie 'sc /?' an der Eingabeaufforderung ein, um mehr zu erfahren; Um das Ergebnis eines Befehls in eine Variable zu bekommen, benutzen Sie 'for/F' - geben Sie' for /? 'ein. – aschipfl