Ir al contenido


Foto

[RESUELTO] Como buscar archivos y borrarlos a través de un BAT


  • Por favor identifícate para responder
10 respuestas en este tema

#1 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 julio 2011 - 07:28

Pues eso, estoy haciendo un archivo BAT y todo va bien, lo que quisiera hacer si es posible, realizar una busqueda archivos en todo el disco y lo vaya borrando usando como filtro una extension, ¿Se puede?.

Saludos.
  • 0

#2 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 julio 2011 - 07:55

Hola

No se pero hasta donde recuerdo deberia ser así:

DEL C:\*.TXT /S

Sólo ten cuidado de poner la extensión correcta, no vayas a pelar todos los archivos de DD :D :D :D

Salud OS
  • 0

#3 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 julio 2011 - 08:02

Pues buscando en la red me encontré con este script:



delphi
  1. :bof
  2. @echo off & setlocal enableextensions enabledelayedexpansion
  3.  
  4. :init
  5.  
  6. :: Configure the file name supplied
  7. if "%1"=="" (
  8. echo Please specify the name of the file to search and delete
  9. goto :eof
  10. ) else (
  11. set file=%*
  12. set ffile=!file:\=!
  13. set file=!ffile::=!
  14. if not "!file!"=="%*" (
  15. echo supply file's name only, not the path
  16. goto :eof
  17. )
  18. )
  19.  
  20. :: Determine available fixed drives
  21. set drives=
  22. if exist "C:\Drives.txt" del "C:\Drives.txt"
  23. for /f "usebackq tokens=1*" %%a in (`fsutil fsinfo drives ^| find ":"`) do (
  24. if /i "%%a" NEQ "Drives:" (
  25. set "drives=!drives! %%a"
  26. echo:%%a >> C:\Drives.txt
  27. ) ELSE (
  28. set "drives=!drives! %%b"
  29. echo:%%b >> C:\Drives.txt
  30. )
  31. )
  32.  
  33.  
  34. for /f "tokens=*" %%d in ('type "C:\Drives.txt"') do (
  35. fsutil fsinfo drivetype %%d | find /i "Fixed" >nul
  36. if not errorlevel 1 (
  37. echo searching for "%file%" on drive "%%d" ...
  38. call :SEARCHIT %%d
  39. )
  40. )
  41.  
  42. :: Search and delete the file if found
  43. :SEARCHIT
  44. pushd %*\
  45. for /f "tokens=*" %%f in ('dir "%file%" /b /s /a-d 2^>nul') do (
  46. echo del "%%f" /f
  47. if not errorlevel 1 (
  48. echo "%%f" deleted
  49. ) else (
  50. echo unable to delete "%%f"
  51. )
  52. )
  53. goto :eof
  54.  
  55. :eof



Este lo busca por nombre, el detalle es que lo encuentra pero nunca lo borra, en fin, no me sirve de todos modos, Egostar, ¿ese code sirve para buscar solamente en C:\ y no en las carpetas y subcarpetas?, porque lo veo bastante sencillo :D

Saludos.

  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 julio 2011 - 08:12

........ ¿ese code sirve para buscar solamente en C:\ y no en las carpetas y subcarpetas?, porque lo veo bastante sencillo

Saludos.


Si señor, borra todos los archivos que se localicen en la unidad C dentro de todos los directorios y subdirectorios que contenga, el parámetro /S le indica que lo haga y como te digo, nada más ten cuidado al ejecutarlo porque borra todo lo que encuentre con la extensión escrita.

También puedes borrar,  por ejemplo, todos los archivos que se encuentren en la carpeta y subcarpetas de C:\Desarrollo que comiencen con M y que tengan extensión dcu:

DEL C:\DESARROLLO\M*.DCU /S

Salud OS
  • 0

#5 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 julio 2011 - 08:21

Pues a hacer la prueba
  • 0

#6 enecumene

enecumene

    Webmaster

  • Administrador
  • 7.419 mensajes
  • LocationRepública Dominicana

Escrito 14 julio 2011 - 08:26

Pues a hacer la prueba


Ah joder, tan sencillo es la cosa y yo queriendo reinventar la rueda, hice el siguiente script como prueba y me funcionó:



delphi
  1. @echo off
  2. DEL C:\*.proof /S
  3. echo Presione una tecla para salir...
  4. pause>nul
  5. Exit



Saludos y gracias mi estimado.
  • 0

#7 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 14 julio 2011 - 08:40

Ah pues que bien mi estimado, es lo bueno de no estar tan viejo, aún me acuerdo de cosas :D :D :D

Salud OS
  • 0

#8 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.107 mensajes
  • LocationMadrid - España

Escrito 15 julio 2011 - 05:07

Alguno diría que te lo sabes por viejo y no por diablo  :D :D :D

Saludos.
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 15 julio 2011 - 07:33

Alguno diría que te lo sabes por viejo y no por diablo   

Saludos.


jejeje, si si, pero no demasiado viejo para ya no recordar las cosas, aún me queda algo en la azotea :) o como dirian ahora en el "roof garden"  (h) :D :D :D

Salud OS

PD. Azotea=Cabeza, Cerebro :)
  • 0

#10 Delphius

Delphius

    Advanced Member

  • Administrador
  • 6.295 mensajes
  • LocationArgentina

Escrito 15 julio 2011 - 10:04

¿Del, archivos .BAT, /S? ¿Qué es todo eso?  ^o| ¿comandos Linux?  :D Ya... estamos en la época Visual, salgan de DOS... jajaja  :D

Cuando yo nací ya no usaba eso  ^o| *-)

Saludos,
PD: Yo ni recuerdo para que sirve dir, ni cd..  :p
  • 0

#11 luk2009

luk2009

    Advanced Member

  • Moderadores
  • PipPipPip
  • 2.040 mensajes
  • LocationSanto Domingo

Escrito 17 julio 2011 - 03:47

Pues yo. Todavia uso en ocasiones el msdos, no se si por los buenos y muy malos recuerdos o porque uso Linux. Lo que pasa con msdos es que es muy fácil equivocarse y joder todo.
  • 0




IP.Board spam blocked by CleanTalk.