Код:

setlocal enableextensions enabledelayedexpansion
:: Используется smartctl.exe из http://smartmontools.sourceforge.net
call :ctl sda
call :ctl sdb
goto :eof
:ctl
set "i="
for /f "tokens=2,* delims=: " %%a in ('smartctl.exe -i %1 ^|sort /r ^|findstr /c:"Device Model" /c:Serial') do set "i=%%b.!i!"
for /f "delims=" %%a in ('smartctl.exe -f brief -A %1 ^|findstr /c:Reallocated /c:Pending') do echo %%a>>"!i!tmp"
fc "!i!tmp" "!i!" &&del /q "!i!tmp" ||(move /y "!i!tmp" "!i!" &echo %date% %time%>>"!i!txt" &type "!i!">>"!i!txt" &start "" "!i!txt")
goto :eof
:: При изменениях в наблюдаемых атрибутах (Reallocated_Sector, Reallocated_Event, Current_Pending_Sector)
:: дополняется и запускается %Device Model%.%Serial Number%.txt