[Batch] Consulta (SOLUCIONADO)

Iniciado por DA KILLER, 19 Julio 2010, 16:47 PM

0 Miembros y 1 Visitante están viendo este tema.

leogtz

Otra cosa sería usar otro findstr.exe para ver si el problema proviene de ahí.

Y si tu quieres buscar solo la palabra "line" en el archivo de texto, usando findstr /r y una expresión regular debería funcionar:

findstr /r "^line$"
findstr /r "^\<line\>$"
findstr /r "\<line\>"
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

DA KILLER

#21
Ah eso me mareaba, por lo que decidí usar un /B y arreglar el script principal para que escriba los usuarios en renglones separados al archivo, pero se puede lo de mediante el usuario darle la indicación al programa para buscar el pass?

PD: soy un pedazo de ********!, claro que se puede, solo tengo que ver como hago para que mediante el errorlevel pueda hacer que si el usuario es encontrado vaya a un label y sino vaya a otro, eso se puede hacer?

PD2: Ahí me puse las pilas 5 segundos y lo entendí, ya está y funciona, gracias leo, me podrías echar un cable con la devolución del errorlevel
.: DA KILLER :.



DA KILLER

#22
ya está el errorlevel incluido:

@echo off
color 0A
set/P "search= User: "
findstr /R /B /C:"^%search%$" test.txt
if %errorlevel% gtr 0 (goto:mal) ELSE (goto:bien)
:mal
echo. ERROR, THE SYSTEM CAN'T FIND THAT USER.
goto:salir
:bien
echo. PROCESS SUCESSFULLY!
goto:salir
:salir
pause >nul
exit /b 0


Pues creo que estaría, se hizo largo el post, pero bueno, gracias a todos los que colaboraron y especialmente a Leo.

Saludos y gracias de nuevo!
.: DA KILLER :.



leogtz

Sobre el primer PD, claro que se puede.

Suponiendo que usaste esta línea de las que te dejé(y que te haya funcionado, claro):
findstr /r "\<line\>"

Lo que tu pides se llama ejecución condicional:
Código (dos) [Seleccionar]
findstr /r "\<line\>" && (
    echo Encontrado
    goto:si
) || (
    echo No encontrado
    goto:no
)
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

DA KILLER

no, lo hice con errorlevel :$

(no sabía lo de la ejecución condicional, gracias por el dato)

lo que yo digo es que puedo usar el user como delimitador en un bucle for y solo hago que el bucle setee una variable, (la cual se comparará con el pass), y listo n.n!
.: DA KILLER :.



leogtz

Entonces, ¿solucionado?
Código (perl) [Seleccionar]

(( 1 / 0 )) &> /dev/null || {
echo -e "stderrrrrrrrrrrrrrrrrrr";
}

http://leonardogtzr.wordpress.com/
leogutierrezramirez@gmail.com

DA KILLER

Se cortó la luz 5 minutos después de que se me ocurrió como hacerlo :$, ya lo puse y gracias otra vez
.: DA KILLER :.