Win10, HP Pavilion g6-1212tx 筆記型電腦, battery log with bug fix prior to 10:00


HP G6 notebook win10 the first battery log
HP G6 notebook win10 the first battery log

 

用 WINDOWS (DOS) TIME DATE 的功能, 以時間點來命名檔案的名稱, 有時不靈光. 原因是 10:00 以前, 顯示為 01:xx – 09:xx, 但實際 %time:~0,2% 出現的數字是 1:xx – 9:xx, 前面並沒出現一個0, 而是一個 SPACE, 因此產生這樣的文件名稱出現錯誤.

今天看了一下, 參考人家的方法, 改進了一下, 這個 BUG 就除解決了, 任何時間都可以生成文件, 時間在10:00以前, 自動補零, 替代那個 SPACE

解說一下,

SET HOUR=%TIME:~0,2%

設定一個變數, 名為 HOUR, 抽取系統的時間 HH:MM:SS 中最前面兩位數字, 就是 HH, 存入 HOUR

IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%

如果 HOUR 這個變數的第一個字符是 SPACE, 則把 HOUR 重新設定, 第一位是0, 第二位用現有的數字.

問題就解決了

這台PC, 20分鐘用了約20%的電池電量, 十分耗電, 基本不能拿來當作筆電.

 

完整的 BATCH 檔案如下


@echo off

echo By Xioalaba, win8 / win 8.1 / win 10, battery status report generation script.
echo last update, 2016-01-19

echo ref : http://serverfault.com/questions/147515/need-leading-zero-for-batch-script-using-time-variable
echo fix bug of hour less 10 wihtout leading 0
echo last update, 2016-05-17
@echo.

SET HOUR=%TIME:~0,2%
IF "%HOUR:~0,1%" == " " SET HOUR=0%HOUR:~1,1%

rem set file_name=./battery_log/battery_log_%date%_%time:~0,2%%time:~3,2%%time:~6,2%.html

set file_name=./battery_log/battery_log_%date%%HOUR%%time:~3,2%%time:~6,2%.html

echo battery log file = %file_name%

powercfg /batteryreport /output %USERPROFILE%\Desktop\%file_name%

start %file_name%

@echo.
pause

廣告

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s