Получение температуры диска через cmd сценарий.
Добрый день.
Посоветуйте как получить температуру hdd средствами windows?
smartctrl.exe или DickTemp.exe пробовал.
|
Код:
@echo off &setlocal enableextensions
for /f "tokens=8" %%a in ('smartctl.exe -f brief -A sda ^|findstr /c:Temperature_Celsius') do set /a Temperature=%%a
set Temperature
pause
|
А как сюда в писать передачу sda, sdb или любого другого диска?
Т.е. hddtemp.cmd parm?
|
Crazy Noise |
01-07-2013 10:20 2177199 |
|
Это не то.
Вот не много изменил
Код:
for /f "tokens=8" %%a in ('smartctl.exe -f brief -A sda ^|findstr /c:Temperature_Celsius') do ECHO %%a
Но вопрос по передачи параметра остается, т.е. в место sda нужно передать аргумент из командной строки. Как это лучше сделать?
|
Так?
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sDevice=%~1
if defined sDevice (
for /f "usebackq tokens=8" %%i in (
`@"%ProgramFiles%\smartmontools\bin\smartctl.exe" -f brief -A %sDevice% ^| find.exe /i "Temperature_Celsius"`
) do set /a iTempture = %%i
if defined iTempture echo Tempture: [!iTempture!]
) else (
echo Usage: %~nx0 ^<device^>
)
endlocal
exit /b 0
Цитата:
Код:
D:\Install\Smartmontools\Smartmontools 5.41>0001.cmd sdc
Tempture: [36]
|
|
Переделал так с вашего позволения
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sDevice=%~1
SET SMARTCTL="C:\Program Files\NSClient++\scripts\smartctl.exe"
if defined sDevice (
for /f "usebackq tokens=8" %%i in (
`@%SMARTCTL% -f brief -A %sDevice% ^| find.exe /i "Temperature_Celsius"`
) do set /a iTempture = %%i
if defined iTempture echo !iTempture!
) else (
echo Usage: %~nx0 ^<device^>
)
endlocal
exit /b 0
|
Код:
@echo off &setlocal enableextensions
:: Usage: Temperature.cmd sda sdb
set smartctl="C:\Program Files\NSClient++\scripts\smartctl.exe"
for %%d in (%~1 %~2 %~3 %~4 %~5 %~6 %~7 %~8 %~9) do (
for /f "tokens=8" %%t in ('%smartctl% -f brief -A %%d ^|findstr /c:Temperature_Celsius') do echo Temperature %%d = %%t
)
pause
|
kiripanda, а ежели параметров на один больше окажется ;)? Лучше уж с «shift» работать, наподобие:
читать дальше »
Код:
@echo off
setlocal enableextensions enabledelayedexpansion
set sHasParameters=%~1
if not defined sHasParameters (
echo Usage: %~nx0 ^<device^>
goto :eof
)
:Repeat
set sDevice=%~1
if not defined sDevice goto :eof
for /f "usebackq tokens=8" %%i in (
`@"%ProgramFiles%\smartmontools\bin\smartctl.exe" -f brief -A "%sDevice%" ^| find.exe /i "Temperature_Celsius"`
) do set /a iTempture = %%i
if defined iTempture echo Tempture of [%sDevice%]: [!iTempture!]
shift
goto :Repeat
endlocal
exit /b 0
|
Iska, Тогда уж лучше просто %*
|
Foreigner, тоже логично ;).
|
Время: 21:04.
© OSzone.net 2001-