script por lotes para imprimir las líneas anteriores y siguientes de la cadena de búsqueda en un archivo de texto

Tengo un script por lotes que imprimirá la línea completa de la cadena de búsqueda en un archivo de texto.

for %%i in (log.txt) do (
FINDSTR /G:pattern.txt %%i >> output.txt
)

Ejemplo: pattern.txt contiene la cadena de búsquedaERROR y debajo está el texto de muestra en log.txt

2013-06-30 02:17:55,562 INFO   Service started
2013-06-30 02:17:55,578 INFO   Sending mail...
2013-06-30 02:17:55,578 DEBUG  Element value: 1
2013-06-30 02:17:55,578 ERROR  error occurred and message is ""
2013-06-30 02:17:55,578 DEBUG  bit version: 8
2013-06-30 02:17:55,578 INFO   Service stopped

El script por lotes anterior imprimirá cada línea de texto cada vez que encuentre la cadenaERROR en log.txt Entonces, el output.txt se verá con líneas como las siguientes

2013-06-30 02:17:55,578 ERROR  error occurred and message is ""

¿Cómo puedo imprimir solo las líneas anteriores y siguientes de la cadena de búsqueda como a continuación:

2013-06-30 02:17:55,578 DEBUG  Element value: 1
2013-06-30 02:17:55,578 DEBUG  bit version: 8

Gracias por adelantado.

Respuestas a la pregunta(3)

Su respuesta a la pregunta