Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: invisible_hack en 25 Septiembre 2007, 20:04 pm



Título: [Batch] Vaciar Papelera de Reciclaje
Publicado por: invisible_hack en 25 Septiembre 2007, 20:04 pm
Bueno, pues el titulo de este post creo que resume mi duda...

He estado rastreando paginas y paginas por el Google en busca de respuestas...pero na de na....

Y pues como sé que aqui hay muchos batch coders pues queria preguntaros a todos los que esteis metidos en Batch si existe alguna forma de hacer un .bat que al ser ejecutado pues vacie la Papelera...porque sé como vaciar carpetas y todo eso....pero...estoy intentando crear un generador de virusitos en batch y he pensado en añadirle la opcion de borrar los archivos de la Papelera...pero no tengo ni idea de cómo acceder a ella desde un .bat :-\

Agradeceria si alguien me pudiese ayudar, o si al menos me pudiese decir si en Batch es posible vaciarla...

Saludos!!


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: nhaalclkiemr en 26 Septiembre 2007, 15:12 pm
En realidad la papelera son el conjunto de archivos que se encuentra en las subcarpetas de la carpeta oculta y de sistema C:\RECYCLED...si borras los archivos de sus subcarpetas, ya está...pero ten cuidado que estas carpetas tienen archivos de sistema ocultos dentro...

Y como anecdota digo que muchas veces se pueden copiar archivos a una de las subcarpetas de RECYCLED y no se verán ni en la papelera ni en el explorador ni se borraran al vaciar la papelera...pero eso depende de como lo copies o muevas, no se si con el comando copy y move ocurre esto o no...en VB con FileCopy si ::) Muy bueno para ocultar troyanos, quien sospechará??? ;D ;D

Weno, lo que te decia, para vaciar la papelera desde BATCH creo que lo mejor es borrar los archivos que haya en todas las subcarpetas de %homedrive%\RECYCLED excepto aquellos que sean de sistema (no vaya a ser que se estropee algo)  :rolleyes: ...

Saludos


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: kraszic en 26 Septiembre 2007, 15:57 pm
Buena pregunta, a mi nunca se me habia ocurrido mirarlo y ahora me ha entrado la curiosidad, ahora bien, pienso q sera muy dificil borrar el contenido de esa carpeta sin dañar windows...

nhaalclkiemr se ha equivocado, la carpeta en q se encuentra esta en "C\RECYCLER"

He probado a mirar el contenido de esta carpeta con la cmd y no ha servido de mucho, puedes entrar en recycler pero dentro de recycler hay una carpeta con muchos numeros (de nombre) q no se si sera igual en todos los ordenadores (me refiero al nombre de la carpeta).
Asi q no creo q se pueda borrar todas las subcarpetas y archivos en C\RECYCLER porq dentro de ahi e puesto un dir y la cmd no me ha mostrado nada...
Bueno, seguire buscando y investigando sobre el tema.
Info (enlace) (http://kementeus.wordpress.com/2006/10/26/dnde-est-la-papelera-de-reciclaje-en-windows/)

saludos

PD: Para ver las carpetas ocultas de windows ir a: herramientas >> opciones de carpeta >> Ver >> y ahi activar mostrar todas las carpetas y archivos ocultos y mas abajo desactivar: Ocultar archivos protegidos del sistema operativo

saludos


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: nhaalclkiemr en 26 Septiembre 2007, 17:50 pm
Citar
nhaalclkiemr se ha equivocado, la carpeta en q se encuentra esta en "C\RECYCLER"

Weno si me ekivoké en la C final  :-X :-X :-X

Sobre lo otro que dices de las subcarpetas decirte que hay que leer mejor:

Citar
C:\RECYCLED...si borras los archivos de sus subcarpetas, ya está...pero ten cuidado que estas carpetas tienen archivos de sistema ocultos dentro...

Como ves yo ya dije que hay subcarpetas, y si k son diferentes en cada ordenador, yo pienso (no estoy seguro pero pienso) que cada una de las carpetas es de un usuario...pero eso da igual...

Pero ya te digo, no hay ningún problema, pues no necesitas saber el nombre, con un FOR a RECYCLER puedes entrar en todas las subcarpetas...no haría ni falta, con un del /S /Q /F /A:- %homedrive%\RECYCLER ya estaría, lo malo serían los archivos de sistema que hay dentro que mejor no borrarlos...por eso digo que con un FOR percorres todos los archivos de las subcarpetas y en caso de que sean distintos a desktop.ini y a INFO2

Otra cosa, aunke tengas para ver los archivos ocultos y de sistema hay unos archivos que no se ven desde el explorador, pork al entrar en una de esas carpetas abres la papelera, no las carpetas, por eso son buenos sitios para meter archivos ocultos si los sabes meter sin k se muestren en la papelera, serán de esa carpeta pero no de la papelera, solo desde el cmd.exe se puede entrar a la carpeta...

Id a unas de las subcarpetas con el cmd.exe y si ejecutais dir /A:- se mostrarán los archivos que estén en la papelera (con nombres empezados por DC y seguidos de un número, no con su nombre original) y veréis que existen dos archivos de sistema, uno llamado desktop.ini y otro INFO2, esos mejor no borrarlos...

He usado el regshot para ver si se hace algo más en el registro o algo pero no, borrando un archivo de la papelera de reciclage solo se borra el archivo original y no se modifica ni otro arcihvo ni el registro según el RegShot...

Dejame un poko de tiempo y si sigues sin entender te hago un BATCH para hacer lo que digo yo

Saludos ;)


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: nhaalclkiemr en 27 Septiembre 2007, 16:35 pm
Aki el BATCH compatible para cualkier ordenador:

Código
  1. @echo off
  2. for /F %%I IN ('dir %homedrive%\RECYCLER /A:- /B') DO for /F %%A IN ('dir "%homedrive%\RECYCLER\%%I" /A:- /B') DO (
  3. if not "%%A"=="INFO2" if not "%%A"=="desktop.ini" del /S /Q /A:- /F "%homedrive%\RECYCLER\%%I\%%A"
  4. if not "%%A"=="INFO2" if not "%%A"=="desktop.ini" rmdir /S /Q "%homedrive%\RECYCLER\%%I\%%A"
  5. )

Saludos ;)


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: kraszic en 27 Septiembre 2007, 18:00 pm
Cita de: nhaalclkiemr
Como ves yo ya dije que hay subcarpetas, y si k son diferentes en cada ordenador, yo pienso (no estoy seguro pero pienso) que cada una de las carpetas es de un usuario...pero eso da igual...
debes de tener razon, en mi caso solo hay una carpeta porq solo hay un usuario...

Me habia rallado en la respuesta de antes diciendo que no se podrian borrar los archivos de las subcarpetas, se tiene q poder perfectamente.
Gracias man, no me sabia lo del dir /a, yo probe con dir y obviamente no me sacaba nada...

jaja, buen codigo, alguien lo ha probado ya y funciona? o nadie lo ha probado???
Alguien puede explicar un poco el codigo pa los nobs :P

Por lo demas gracias por la info.

saludos


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: nhaalclkiemr en 27 Septiembre 2007, 23:00 pm
Prove el codigo en mi PC y funciona.

Sobre el código decir que un simple del /S /Q /F %homedrive%\RECYCLER funcionaría, eliminaría los archivos de las carpetas y subcarpetas, pero no las subcarpetas que esten en las subcarpetas de RECYCLER, y no eliminaría los archivos ocultos o de sistema, con esto no borraría los dos archivos que no se pueden borrar, pero tampoco los archivos que esten ocultos aunke se puedan borrar...

Pues por eso puse mi codigo, y es muy facil, pero hay que saberusar el FOR, recomiendo para quien no sepa que lea el manual de Sirdarckat pegado en esta misma sección.

Pues haber que explico algo, el %homedrive% es una variable de entorno que devuelve la unidad principal, en la mayoria de los casos C: , pero no tiene pork ser siempre así. El primer FOR ejecuta DIR con esos parametros para que devuelva las subcarpetas de C:\RECYCLER, el segundo FOR percorre los directorios y archivos de cada subcarpeta que devolvió el primer FOR, es decir, los dos FOR lo que hacen es percorrer todos los archivos y carpetas de las subcarpetas de "C:\RECYCLER", es decir, todos los archivos y carpetas de la papelera.

Y por cada uno de los archivos o carpeta comprueva si su nombre es "INFO2" o "desktop.ini", si lo es lo salta y si no ejecuta DEL para borrarlo si es un archivo y por si fuera una carpeta ejecuta RMDIR

Pues eso es lo que hace, quien no lo entienda que se mire el comando FOR que es el comando más completo de BATCH

Weno, saludos ;)


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: lagarto987456 en 26 Febrero 2009, 19:24 pm
este batch es muy interesante y como sería para borrar de la carpeta RECYCLER que esta en D:/ o en otra dirección.
Te comento esto es porque tengo en mi máquina tres carpetas recycler, y como tu comentas el batch busca la raiz principal o sea la C:/ y no busca las otras carpetas para borrar los archivos
Espero que me puedas ayudar en este tema



Aki el BATCH compatible para cualkier ordenador:

Código
  1. @echo off
  2. for /F %%I IN ('dir %homedrive%\RECYCLER /A:- /B') DO for /F %%A IN ('dir "%homedrive%\RECYCLER\%%I" /A:- /B') DO (
  3. if not "%%A"=="INFO2" if not "%%A"=="desktop.ini" del /S /Q /A:- /F "%homedrive%\RECYCLER\%%I\%%A"
  4. if not "%%A"=="INFO2" if not "%%A"=="desktop.ini" rmdir /S /Q "%homedrive%\RECYCLER\%%I\%%A"
  5. )

Saludos ;)


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: leogtz en 27 Febrero 2009, 04:55 am
Usa nircmd, para vaciar la papelera :
Código:
nircmd emptybin
Código:
@ECHO OFF
::BIN.BAT
::LEONARDO GUTIERREZ R.
IF ["%1"]==[""] (GOTO:SYNTAX)
IF /I ["%1"]==["-H"] (GOTO:SYNTAX)
IF /I ["%1"]==["--HELP"] (GOTO:SYNTAX)
IF /I ["%1"]==["/?"] (GOTO:SYNTAX)
IF /I ["%1"]==["/H"] (GOTO:SYNTAX)
IF /I ["%1"]==["-LOCAL"] (GOTO:LOCAL)
IF /I ["%1"]==["-ALL"] (GOTO:ALL)
:SYNTAX
ECHO:%~NX0 > CON
ECHO: > CON
ECHO:MODO DE USO : > CON
ECHO: > CON
ECHO:%~NX0 [-LOCAL] [-ALL] > CON
ECHO:>CON
ECHO:-LOCAL : Vacia la papelera del disco local. > CON
ECHO:-ALL    : Vacia la papelera de todos los discos detectados en el sistema. > CON
ECHO: > CON
:LOCAL
NIRCMD EMPTYBIN
GOTO:EOF
:ALL
FOR /F "TOKENS=1 SKIP=1" %%X IN ('WMIC LOGICALDISK GET CAPTION') DO (
NIRCMD EMPTYBIN %%X
)
GOTO:EOF


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: berz3k en 27 Febrero 2009, 06:50 am
Pues no que nircmd era peligroso tenerlo instalado ? me parece los AV lo toman de alto riesgo.

-berz3k.


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: leogtz en 27 Febrero 2009, 07:28 am
Claro que no es peligroso, lo uso bastante, algunos Antivirus como el Panda lo detectan como "malicioso", pero no, no es peligroso.


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: lagarto987456 en 27 Febrero 2009, 18:07 pm
Al utilizar este batch se borran todos los archivos de las carpetas RECYCLER incluidos los de sistema "INFO2" y "desktop.ini" o esos no se borran


Usa nircmd, para vaciar la papelera :
Código:
nircmd emptybin
Código:
@ECHO OFF
::BIN.BAT
::LEONARDO GUTIERREZ R.
IF ["%1"]==[""] (GOTO:SYNTAX)
IF /I ["%1"]==["-H"] (GOTO:SYNTAX)
IF /I ["%1"]==["--HELP"] (GOTO:SYNTAX)
IF /I ["%1"]==["/?"] (GOTO:SYNTAX)
IF /I ["%1"]==["/H"] (GOTO:SYNTAX)
IF /I ["%1"]==["-LOCAL"] (GOTO:LOCAL)
IF /I ["%1"]==["-ALL"] (GOTO:ALL)
:SYNTAX
ECHO:%~NX0 > CON
ECHO: > CON
ECHO:MODO DE USO : > CON
ECHO: > CON
ECHO:%~NX0 [-LOCAL] [-ALL] > CON
ECHO:>CON
ECHO:-LOCAL : Vacia la papelera del disco local. > CON
ECHO:-ALL    : Vacia la papelera de todos los discos detectados en el sistema. > CON
ECHO: > CON
:LOCAL
NIRCMD EMPTYBIN
GOTO:EOF
:ALL
FOR /F "TOKENS=1 SKIP=1" %%X IN ('WMIC LOGICALDISK GET CAPTION') DO (
NIRCMD EMPTYBIN %%X
)
GOTO:EOF


Título: Re: Vaciar Papelera de Reciclaje con un .bat
Publicado por: leogtz en 27 Febrero 2009, 18:31 pm
Borra todo, eso creo, yo lo utilizo para vaciar mi papelera de reciclaje.


Título: Re: [Batch] Vaciar Papelera de Reciclaje
Publicado por: berz3k en 3 Marzo 2009, 01:06 am
Por que no usar la shell tools de win32 mmm como netsh con cmd.exe ?

-berz3k.


Título: Re: [Batch] Vaciar Papelera de Reciclaje
Publicado por: leogtz en 3 Marzo 2009, 04:17 am
Por que no usar la shell tools de win32 mmm como netsh con cmd.exe ?

-berz3k.


Mmmm, por que netsh no serviria para el proposito de este post.


Título: Re: [Batch] Vaciar Papelera de Reciclaje
Publicado por: SmartGenius en 7 Marzo 2009, 03:52 am
hay forma de hacerlo obteniendo la credencial de usuario y entrando hasta la carpeta recycler para borrar todo su contenido...todo en un simple BAT...sin necesidad de usar herramientas externas....

Saludos.