
Pequeño script en Batch
Publicado por sh0rty (1 intervención) el 14/10/2014 02:40:11
Buenas ante todo a los usuarios de LWP!
Estoy realizando un pequeño script en batch que se trata de lo siguiente:
Debe recibir como argumento la ruta absoluta de un directorio.
Debe recorrer ese directorio (donde habrá ficheros de texto) y leerlos.
Si el fichero contiene la cadena "ISO-9001", el programa escribirá al final del fichero "Estado: Correcto", si no la tiene "Estado: Incorrecto".
He pensado en escribir una cosa u otra en función del Errorlevel, es decir si lo encuentra el Errorlevel se pondrá a 0 y si no lo encuentra el Errorlevel se pondrá a 1...
Hasta aquí todo bien, el problema es que lo encuentre o no, el Errorlevel se queda en 0, y se escribe Correcto en todos los ficheros contengan o no la cadena deseada.

En cambio al ejecutar el comando find en la consola directamente, el Errorlevel si cambia...

¿Que puedo hacer? Gracias!
Estoy realizando un pequeño script en batch que se trata de lo siguiente:
Debe recibir como argumento la ruta absoluta de un directorio.
Debe recorrer ese directorio (donde habrá ficheros de texto) y leerlos.
Si el fichero contiene la cadena "ISO-9001", el programa escribirá al final del fichero "Estado: Correcto", si no la tiene "Estado: Incorrecto".
He pensado en escribir una cosa u otra en función del Errorlevel, es decir si lo encuentra el Errorlevel se pondrá a 0 y si no lo encuentra el Errorlevel se pondrá a 1...
1
2
3
4
5
6
7
8
9
10
11
for %%a in (%1\*.txt) do (
find /i "hola" %%a
echo %errorlevel%
if %errorlevel% == 0 (
echo. >> %%a
echo Estado: Correcto >> %%a
) ELSE (
echo. >> %%a
echo Estado: Incorrecto >> %%a
)
)
Hasta aquí todo bien, el problema es que lo encuentre o no, el Errorlevel se queda en 0, y se escribe Correcto en todos los ficheros contengan o no la cadena deseada.

En cambio al ejecutar el comando find en la consola directamente, el Errorlevel si cambia...

¿Que puedo hacer? Gracias!
Valora esta pregunta


0