Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dany3j en 31 Julio 2011, 18:48 pm



Título: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: Dany3j en 31 Julio 2011, 18:48 pm
hello tengo una duda como haria para arrastrar una lista de archivo en un txt  un bat
Pero que compruebe si existen. si existen imprimir en pantalla.

un ejemplo

Primero ejecuto el bat

y me imprima en pantalla
Por favor arrastre el archivo.txt con la lista al esta pantalla.

luego

Comprobando existencia de archivos y carpetas


Archivo   test.algo existe
archivo1  test2.algo existe
archivo2  test3.algo no existe.
Directorio test4 existe
directorio test5

y preguntar

deseo borrar los archivos encontrado
S= si
N = no

si se presiona no devolver a la principio
si se presiona  si borrar los archivos.

imprimir

archivo test1.algo -- borrados
directorio test2.algo  --- borrado
archivo test3.algo ---- no se pudo borrar
directorio test5 --- no se pudo borrar

luego de finalizar que se presione una tecla y se cierre el cmd. y que todo el proceso de busqueda borrado no borrado se guarde en un txt que se abra al cerrar el cmd.

Gracias de antemano.  ;)



Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: leogtz en 1 Agosto 2011, 01:10 am
¿Para qué quieres hacer esto?

Prueba esto:

Código
  1. @echo off
  2. set /p "lista=Lista : "
  3. for /f "tokens=*" %%_ in ('type "%lista%"') do (
  4. dir /b /s "%%_" > nul 2>&1 && (
  5. echo %%_ Existe
  6. echo %%_ >> "%userprofile%\busqueda.txt"
  7. rem Así evitamos que siga buscando en todo el disco duro...
  8. rem Nos basta saber por ahora que sí está el archivo.
  9. call:continue
  10. ) || (
  11. echo %%_ No existe
  12. )
  13. )
  14.  
  15. :prompt
  16. set /p "respuesta=Desea borrar los archivos encontrados ? s/n : "
  17. if not defined respuesta (goto:prompt)
  18. rem Si dice que "n" salimos.
  19. if "%respuesta%"=="s" (
  20. rem Borrar archivos:
  21. for /f "tokens=*" %%_ in ('type "%userprofile%\busqueda.txt"') do (
  22. del /f /q /s "%%_" && (
  23. echo "%%_" -- Borrado
  24. ) || (
  25. echo "%%_" -- No borrado
  26. )
  27. )
  28. ) else (
  29. exit /b 0
  30. )
  31.  
  32. :continue
  33. goto:eof

Puedes partir de ahí, probé el código y parece que funciona.


Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: Dany3j en 1 Agosto 2011, 03:34 am
La verdad no ha funcionado.. cuando arrastro la lista a la pantalla del cmd.

Código:
Me sale un error el sistema no puede hallar el archivo especificado
Error mientras se procesaba: C:Documents.
Me sale un error el sistema no puede hallar el archivo especificado
Error mientras se procesaba: and
Me sale un error el sistema no puede hallar el archivo especificada.
Desea borrar los archivos encontrados ? s/n : D

A que se debe esto Leo y pues todavia no tengo ningún fin para esto no mas se me ocurrio. algo que hiciera esto.  :xD


Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: leogtz en 1 Agosto 2011, 04:18 am
Mmmm, el problema son las rutas con espacios, sólo eso, porque yo arrastré lista.txt con la siguiente ruta:
c:\users\leo\lista.txt y funcionó perfecto, luego lo checo con más detenimiento.


Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: SuperDraco en 5 Agosto 2011, 16:30 pm
Con todo lo que te está ayudando Leo, y lo que te he ayudado yo, y los batch que te he pasado, y los manuales del foro... Ya es hora de que intentes hacer un batch por ti mismo, que lo que pides es fácil.

he probado el código de Leo y funciona con rutas con espacios.

saludos


Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: Dany3j en 6 Agosto 2011, 01:39 am
Si tienes razon  :( Pitoloko lo que pasa que a veces no entiendo algunas cosas. bueno voy a ponerme a trabajar mas y solo voy a perdir ayuda cuando en verdad la necesite..  :rolleyes:

Y a mi no me funciona sera porque tengo xp.  :o


Título: Re: Arrastrar lista y comprobar si existen archivos. [Batch]
Publicado por: poc en 28 Febrero 2014, 11:56 am
Aunque hace ya muchos años de este post, que sepáis que me ha servido mucho!!

Muchisimas gracias!