Advertisement
angeldp

buscaBusca.bat

Jun 23rd, 2015
348
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Batch 2.32 KB | None | 0 0
  1. @echo off
  2. REM buscaBusca.bat
  3. ::
  4. REM Autor: angeldp
  5. ::
  6. :: Sintaxis: buscaBusca.bat ObjetoBuscado
  7. :: El script buscará ObjetoBuscado en la unidad C: y, en caso de encontrar
  8. :: coincidencias indicará cuántas y mostrá una lista con las mismas. Si no hay
  9. :: nada que contenga ObjetoBuscado en su nombre, lo señalará y finalizará.
  10. ::
  11. :: Guardo en una variable la ruta al archivo de log.
  12. set LOGFILE="%USERPROFILE%\resultados de la busqueda.txt"
  13. cls
  14. title=Buscador de objetos
  15. color f0
  16. echo.
  17. echo Tildes omitidas intencionadamente.
  18. echo.
  19. REM Primero compruebo que se haya pasado como parámetro la cadena a buscar. Si el
  20. REM parámetro está en blanco muestro la ayuda y finalizo el script
  21. if "%1" == "" (
  22.     echo.
  23.     echo Sintaxis: %0 ObjetoBuscado
  24.     goto:eof
  25. )
  26. :: En el caso de que sí haya un parámetro:
  27. echo.
  28. echo Buscando %1 en el directorio raiz...
  29. :: Me coloco en el ráiz de C:
  30. cd /d C:\
  31. :: Hago un listado recursivo de todos los archivos y carpetas que contengan
  32. :: el parámetro en su nombre (*%1*)
  33. dir /s /a *%1* 2>nul >nul
  34. :: Si ese listado ha dado error es que no ha encontrado coincidencias y lo indico
  35. if ERRORLEVEL 1 (
  36.     echo.
  37.     echo No se ha encontrado nada que incluya %1 en su nombre.
  38.    REM Si no hay error es que encontró algo, así que lo muestro
  39. ) else (
  40.     echo Numero de resultados obtenidos:
  41.    REM Listado recursivo (/S) de todos (/A)  los nombres de archivos y
  42.    REM carpetas sin detalles (/B) que lleven el patrón en su nombre (*%1*)
  43.    REM Redireccionando los errores y buscando C: (lo tienen todos) con la
  44.    REM opción /C para que devuelva el nº de coincidencias en vez de la lista.
  45.     dir /s /a /b *%1* 2> nul | find /c "C:"
  46.     echo.
  47.     echo Pulse cualquier tecla para ver la lista de archivos:
  48.     pause > nul
  49.    REM Uso el dir anterior para ver la lista de archivos añadiendo /p
  50.    REM para que pagine la salida si es muy extensa.
  51.     dir /s /a /p /b *%1*
  52. )
  53. :: Tanto si ha encontrado resultados, como si no, actualizo el log  
  54. echo Presione cualquier tecla para salir de %0
  55. pause > nul
  56. echo. ........oooooooOOOOOO000000OOOOOOooooooo........ >> %LOGFILE%
  57. echo. >> %LOGFILE%
  58. date /t >> %LOGFILE%
  59. time /t >> %LOGFILE%
  60. echo. >> %LOGFILE%
  61. echo Se busco: %1 >> %LOGFILE%
  62. echo Resultados encontrados: >> %LOGFILE%
  63. dir /s /a /b *%1* 2> nul | find /c "C:" >> %LOGFILE%
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement