[BAT] Buscar archivo con un string indicado

Iniciado por ovichan, 24 Enero 2013, 05:51 AM

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

ovichan

Buenas, estoy haciendo una prueba para despues poder implementar una movida absurda de las que me hago en casa ^^. El caso es que intento buscar un archivo por su string para que me devuelva la ruta completa, pero al hacer la comparacion con el IF, el caso es sensitivo. Entonces necesitaria hacer un lowcase.

Me explicare mejor con el codigo, jeje

set /p nombre="Introduzca el nombre a buscar: "

for /r c:\ %%@ in ("%nombre%.*") do (

if "%%~n@"=="%nombre%" echo %%@

)


Por ejemplo estoy buscando la palabra "megui", pero este archivo esta almacenado con el string "MeGUI". Entonces, si no inserto en el set, lo mismo no me devuelve ningun resultado.

RevangelyonX

Hola,

A veces hay que pensar en otros comandos.

C:\Users\user>dir /a/b/s \ | find /I "OFC."
C:\office\Tools\ofc.exe
C:\office\Tools\ofc.ini


Salu2
Just Linux
OSCP certified

ovichan

Tambien es verdad, que filtre la salida ^^'. Gracias.

Eleкtro

#3
No es necesario filtrar nada, ni tampoco usar comparaciónes, ni tampoco un FOR, cuando puedes buscar diréctamente usando un patrón:

Set /P    "Pattern=Introduzca el nombre a buscar >> "
Dir /B /S "%SYSTEMDRIVE%\*%Pattern%*"


PD: Leer la ayuda del comando DIR para aprender a usarlo.






Cita de: ovichan en 24 Enero 2013, 05:51 AMal hacer la comparacion con el IF, el caso es sensitivo.

Tutorial extendido de aprendizaje Batch
7. Comparación condicional


Lée un poco y hayarás la solución, Ovichan.

Saludos








ovichan

Gracias Elektro, es que este manual no lo habia yo cazao ^^. Un pdf de ese manual sería un regalo  :D