
Wenn ich dies ausführe:
schtasks.exe /query /tn "GoogleUpdateTaskMachineUA"
Ich bekomme Folgendes:
Folder: \
TaskName Next Run Time Status
======================================== ====================== ===============
GoogleUpdateTaskMachineUA N/A Disabled
Gibt es eine Möglichkeit, nur den Status abzurufen?
Antwort1
Versuchen Sie es schtasks /query
mit /v
der Option für ausführliche Ausgabe und /fo list
für Listenformat. Filtern Sie die Ergebnisse dann mit find
dem Befehl.
schtasks /query /tn "GoogleUpdateTaskMachineUA" /v /fo list | find "Status:"
Sie erhalten eine Zeichenfolge wie diese
Status: Running
Um den Statuswert zu extrahieren, verwenden Sie for
den folgenden Befehl:
for /f "delims=: tokens=2" %a in ('schtasks /query /tn "GoogleUpdateTaskMachineUA" /v /fo list ^| find "Status:"') do @echo %a
- Zur Verwendung in einer Batchdatei ersetzen
%a
durch%%a
- Um Symbole wie
|
oder>
imfor
Befehl zu maskieren, verwenden Sie^
Antwort2
Sofern Sie nicht unbedingt verwenden müssen schtasks.exe
, verwenden Sie PowerShell mit all seinen hervorragenden Ausgabe- und Formatierungsoptionen:
Get-ScheduledTask | ? TaskName -eq GoogleUpdateTaskMachineUA | Select State | ft -AutoSize
oder
(Get-ScheduledTask | Where TaskName -eq GoogleUpdateTaskMachineUA ).State
Antwort3
Gibt es eine Möglichkeit, nur den Status abzurufen?
Verwenden Sie den folgenden Befehl:
for /f "usebackq skip=3 tokens=4" %a in (`schtasks.exe /query /tn "GoogleUpdateTaskMachineUA"`) do @echo %a
Anmerkungen:
skip=3
- Ignorieren Sie die Kopfzeilentokens=4
- nimm das vierte Token (den Wert in der Statusspalte)- Zur Verwendung in einer Batchdatei ersetzen Sie
%a
durch%%a
Anwendungsbeispiel:
F:\test>schtasks.exe /query /tn "GoogleUpdateTaskMachineUA"
Folder: \
TaskName Next Run Time Status
======================================== ====================== ===============
GoogleUpdateTaskMachineUA 03/02/2016 12:17:00 Ready
F:\test>for /f "usebackq skip=3 tokens=4" %a in (`schtasks.exe /query /tn "GoogleUpdateTaskMachineUA"`) do @echo %a
Ready
Weitere Informationen
- Ein AZ-Index der Windows CMD-Befehlszeile- Ein hervorragendes Nachschlagewerk zu allem, was mit der Windows-Eingabeaufforderung zu tun hat.
- für /f- Befehl mit den Ergebnissen eines anderen Befehls wiederholen.
- schtasks- Erstellen/Bearbeiten eines geplanten Jobs/einer geplanten Aufgabe. Der Job kann auf dem lokalen oder einem Remotecomputer erstellt werden.
Antwort4
Wenn Sie ein Powershell-Skript unter Windows 7 schreiben und nicht verwenden können Get-ScheduledTask
, können Sie Folgendes verwenden:
$status = ((schtasks /query /S 'yourServer' /TN yourTask)[4] -split ' +')[2]
Es sieht aus wie das:
### Running this:
schtasks /query /S 'yourServer' /TN yourTask
### Leads to the output below.
Folder: \
TaskName Next Run Time Status
======================================== ====================== ===============
yourTask N/A Running
### Running this:
$status = ((schtasks /query /S 'yourServer' /TN yourTask)[4] -split ' +')[2]
Write-Host "$($status)"
### Leads to the output below
Running