Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

Script batteria < 30%

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Script batteria < 30%

Postdi GiuCi » 13/11/20 13:12

Salve a tutti.
Ho la necessità di creare uno script che mi fornisca un messaggio di warning ogni volta che, a cavo scollegato, la batteria del pc scende al disotto di un certo valore (30% nella fattispecie) :idea:
Siccome non sono sufficientemente esperto, sono riuscito a realizzarne uno (.vbs) ma funziona solo con alimentazione collegata :roll:
Grazie in anticipo a coloro che risponderanno
GiuCi
Newbie
 
Post: 3
Iscritto il: 13/11/20 13:05

Sponsor
 

Re: Script batteria < 30%

Postdi Dylan666 » 13/11/20 13:28

Avatar utente
Dylan666
Moderatore
 
Post: 38939
Iscritto il: 18/11/03 16:46

Re: Script batteria < 30%

Postdi Dylan666 » 13/11/20 13:47

Se proprio vuoi uno script usa questo:
https://www.vbsedit.com/scripts/Hardwar ... cr_362.asp

objItem.BatteryStatus è a 2 se con l'alimentazione e 1 se a batteria
Avatar utente
Dylan666
Moderatore
 
Post: 38939
Iscritto il: 18/11/03 16:46

Re: Script batteria < 30%

Postdi GiuCi » 13/11/20 16:59

Dylan666 ha scritto:Se proprio vuoi uno script usa questo:
https://www.vbsedit.com/scripts/Hardwar ... cr_362.asp

objItem.BatteryStatus è a 2 se con l'alimentazione e 1 se a batteria


Grazie per questa risposta, ma non mi indica la % di batteria, solo se il pc è in carica o meno (a parte tutte le altre info che nn mi servono ovviamente)
GiuCi
Newbie
 
Post: 3
Iscritto il: 13/11/20 13:05

Re: Script batteria < 30%

Postdi Dylan666 » 13/11/20 18:48

Ricerca:
https://www.google.com/search?q=percent+battery+vbs

Primo risultato:
https://gist.github.com/0xABD/1591886

La variabile è quindi objItem.EstimatedChargeRemaining
Avatar utente
Dylan666
Moderatore
 
Post: 38939
Iscritto il: 18/11/03 16:46

Re: Script batteria < 30%

Postdi GiuCi » 13/11/20 19:25

Dylan666 ha scritto:Ricerca:
https://www.google.com/search?q=percent+battery+vbs

Primo risultato:
https://gist.github.com/0xABD/1591886

La variabile è quindi objItem.EstimatedChargeRemaining


ok, questo fornisce la % attuale, sia in carica che non.
Ora come faccio a far comparire il messaggio quando la batteria è <30%?

Se può servire per aiutarmi, col seguente script faccio uscire un messaggio quando (in carica) la batteria arriva al 77%..

set oLocator = CreateObject("WbemScripting.SWbemLocator")
set oServices = oLocator.ConnectServer(".","root\wmi")
set oResults = oServices.ExecQuery("select * from batteryfullchargedcapacity")
for each oResult in oResults
iFull = oResult.FullChargedCapacity
next
while (1)
set oResults = oServices.ExecQuery("select * from batterystatus")
for each oResult in oResults
iRemaining = oResult.RemainingCapacity
bCharging = oResult.Charging
next
iPercent = ((iRemaining / iFull) * 100) mod 100
if bCharging and (iPercent > 77) Then msgbox "Battery is at " & iPercent & "%",vbInformation, "Battery monitor"
wscript.sleep 30000 ' 5 minutes
wend
GiuCi
Newbie
 
Post: 3
Iscritto il: 13/11/20 13:05

Re: Script batteria < 30%

Postdi Dylan666 » 13/11/20 23:04

Con molta poca fantasia e semplicemente unendo il contenuto dei due link miei al codice tuo il risultato è questo:

Codice: Seleziona tutto
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery")
while (1)
For Each objItem in colItems
if (objItem.BatteryStatus = 1) and (objItem.EstimatedChargeRemaining < 30) Then
    Wscript.Echo "Autonomia al " & objItem.EstimatedChargeRemaining & "%"
end if
Next
wscript.sleep 30000 ' 5 minutes
wend


Per controllare se è in carica e al 77% basta cambiare la parte "if"

Codice: Seleziona tutto
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery")
while (1)
For Each objItem in colItems
if (objItem.BatteryStatus = 2) and (objItem.EstimatedChargeRemaining > 77) Then
    Wscript.Echo "Autonomia al " & objItem.EstimatedChargeRemaining & "%"
end if
Next
wscript.sleep 30000 ' 5 minutes
wend


La parte "while(1)", "wscript.sleep 30000" e "wend" server a ripetere il controllo ogni 5 minuti
Avatar utente
Dylan666
Moderatore
 
Post: 38939
Iscritto il: 18/11/03 16:46

Re: Script batteria < 30%

Postdi Dylan666 » 14/11/20 19:03

Meglio ancora potresti unire i due script in uno solo

Codice: Seleziona tutto
On Error Resume Next
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_Battery")
while (1)
For Each objItem in colItems
if (objItem.BatteryStatus = 1) and (objItem.EstimatedChargeRemaining < 30) Then
    Wscript.Echo "Batteria residua al " & objItem.EstimatedChargeRemaining & "%"
end if
if (objItem.BatteryStatus = 2) and (objItem.EstimatedChargeRemaining > 77) Then
    Wscript.Echo "Batteria carica al " & objItem.EstimatedChargeRemaining & "%"
end if
Next
wscript.sleep 30000 ' 5 minutes
wend
Avatar utente
Dylan666
Moderatore
 
Post: 38939
Iscritto il: 18/11/03 16:46


Torna a Software Windows


Topic correlati a "Script batteria < 30%":


Chi c’è in linea

Visitano il forum: Nessuno e 9 ospiti