find
returns 1
when it does not find the search string, so you need something like this instead:
@echo off
:repeat
plink 192.168.x.x ... | find "ERROR" >nul
if %errorlevel% equ 0 goto repeat
or shorter:
@echo off
:repeat
plink 192.168.x.x ... | find "ERROR" >nul && goto repeat