2017-11-22 2 views
0

Guten Tag, Ich habe einen Computer mit Windows Server 2016. Der Computer ist mit einer USV über USB verbunden, wo es die verbleibende Ladung der USV liest, als wäre es ihre eigene Batterie. Ich muss eine Batch-Datei erstellen, die die verbleibende Batterieladung überprüft, wenn sie unter 60% ist, dann einen Remote-Computer und sich selbst herunterfahren (ich kann dann den Task-Manager für eine regelmäßige Ausführung der Batch-Datei verwenden). Ich habe ähnliche Fragen/Antworten im Forum gefunden aber nicht genau was ich brauche. Jede Hilfe mit dem Skript wäre willkommen :).Batch-Datei zur Überprüfung der Akkuladung

EDIT: Vielen Dank für Ihre Antwort. Durch die Windows-Verwaltungsinstrumentierung kann ich den Restbetrag tatsächlich erhalten, sodass Sie sich keine Gedanken über Treiber oder Ähnliches machen müssen. Was ich will, ist, etwas zu tun wie folgt aus:

::Get the battery's remaining charge 
SET BatteryCharge = WMIC PATH Win32_Battery Get EstimatedChargeRemaining 
::Shutdown remote and local computer if charge is less than 60% 
IF %BatteryCharge% LSS 60 (
    shutdown -s -m \\remotecomputer -t 10 
    shutdown -s -m \\localcomputer -t 10 
) 

Jetzt bin ich nicht ganz sicher, wie die remaning Akkuladung auf die Variable BatteryCharge stopfen.

+0

Sehr wahrscheinlich werden wir brauchen Informationen darüber, welche Art von UPS, Treiber usw. Die Informationen der Regel nicht nur auf magische Weise zur Verfügung wie ein serieller Stream ... – roelofs

+1

SO ist auch kein Codewriting-Dienst. Wenn du uns zeigen kannst, was du dir ausgedacht hast, können wir versuchen und helfen. – roelofs

Antwort

0

Sie die Ausgabe eines Befehls mit einer for /f Schleife bekommen kann:

for /f "tokens=2 delims==" %%a in ('WMIC PATH Win32_Battery Get EstimatedChargeRemaining /value') do set remain=%%a 
if %remain% lss 60 echo Battery low 
+0

Wenn Sie mehr Informationen darüber benötigen, wie es funktioniert, dann ist es auf diesem Post im Grunde ungefähr dasselbe, aber auf andere Weise geschrieben. https://stackoverflow.com/questions/6359820/how-to-set-commands-output-as-a-variable-in-a-batch-file – NizonRox

+0

Sehr geschätzt. –

Verwandte Themen