Parece ótimo para mim, mas não há necessidade de fazer um loop se você quiser fazer o ping contínuo do IP. Então você poderia simplesmente fazer assim:
@ECHO OFF
set IPADDRESS=x.x.x.x
ping %IPADDRESS% -t >> filename.txt
Se você quiser fazer ping a cada minuto X, use o loop:
@ECHO OFF
set IPADDRESS=x.x.x.x
set INTERVAL=60
:PINGINTERVAL
ping %IPADDRESS% -n 1 >> filename.txt
timeout %INTERVAL%
GOTO PINGINTERVAL
Como você pode ver, substituí o comando sleep por timeout . Isso porque sleep nem sempre está disponível em alguns sistemas, enquanto timeout normalmente é.
Falta de comandos sleep ou timeout no seu sistema? Não se preocupe. Basta substituir timeout pelo seguinte hack:
@ping 127.0.0.1 -n %INTERVAL% > nul
Esse hack simplesmente insere seu endereço local e, como ele responde instantaneamente, podemos usar isso para emular um atraso na execução.