我在命令提示符下執行了下面的命令。使用批處理腳本獲取CPU利用率百分比
輸入:
C:\>@for /f "skip=1" %p in ('wmic cpu get loadpercentage') do @echo %p%
8%
%
我寫的代碼只得到8%的批處理腳本像下面,
call :Harddisk
call :CPU
Echo ^</TABLE^> ^</BODY^> ^</HTML^> >> %opfile%
pause
exit /b
:CPU
set [email protected] /f skip=1 %p in ('wmic cpu get loadpercentage') do @echo %p% |Find /c /v ":"
ECHO wmih
for /f "tokens=1,2,3,4,5" %%a in ('"%wmih%"') do (
Echo ^<TR^> ^<TD^> >> %opfile%
Echo CPU Utilization: %%a >> %opfile%
Echo ^</TD^> ^</TR^> >> %opfile%
)
exit /b
我沒有得到正確的輸出。請幫我整理一下。
謝謝!
不,它工作得更好,因爲當在變量內容中找到第一個CR時,'echo%p%'結束工作。在這種情況下'find'不會改變行結束。爲了測試,在代碼中加入'cmd/v:on/c「echo!p!...!p!」'並查看輸出。 – 2014-10-21 06:10:07
grrr。我會*討厭那個醜陋的'wmic'output ...所以'%p%'仍然包含那。但可以刪除。改變了我的代碼。 –
Stephan
2014-10-21 06:57:58