Foro de elhacker.net

Programación => Scripting => Mensaje iniciado por: Dany3j en 5 Julio 2011, 15:19 pm



Título: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: Dany3j en 5 Julio 2011, 15:19 pm
Hola amigos tengo una duda.. Alguien me da una mano para realizar lo siguiente.

Estoy tratando de borrar unos archivos y carpetas  y que al final muestre un mensaje con el peso de todo lo borrado.

por ejemplo

Código:
@echo borrar archivos
Pause

Rmdir C:/test
Del C:/test2/*.*
Del C:/test3/*.exe

msg *  xxxx MB borrados


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: WaAYa HaCK en 5 Julio 2011, 16:06 pm
Código
  1. @echo off
  2. if not exist %1 echo Especifica un archivo para borrar! & exit
  3. echo El peso del archivo borrado es: %~z1 KB
  4. del %1
  5. pause>nul

Este simple batch funciona pasándole la ruta al archivo que desees borrar como parámetro y obteniendo el tamaño del archivo. Mira, en este mismo foro, el tutorial de Programación BATCH Avanzada, de Sirdarkckat.

Saludos!


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: SuperDraco en 5 Julio 2011, 18:47 pm
En megabytes no creo que puedas.. a menos que hagas la conversión del numero final del tamaño total en bytes... además, lo que ha dicho waAya no funciona con las carpetas, %~z engaña mucho y se equivoca si lo usas sobre carpetas, pero bueno, si no te importa mucho, usalo xD

Para eso del tamaño real de las carpetas te recomiendo que uses vbscript... y para el tamaño de los archivos tambien... en el tutorial con chincheta de novlucker está todo lo que necesitas saber, es muy básico esto y debes cambiarlo para uarlo sobre archivos:

Código
  1. Option Explicit
  2. Dim objFileSystem, objTheFolder
  3. Set objFileSystem = CreateObject("Scripting.FileSystemObject")
  4. Set objTheFolder = objFileSystem.GetFolder(wscript.arguments(0))
  5.  
  6. wscript.echo objTheFolder.size
  7.  
  8. end if

bueno, toma el bat:

Código
  1. @echo off
  2. For /f %%a in ('type lista.txt') do (
  3.  
  4. echo "%%a" pesa %%~za bytes
  5. Set /a suma+=%%~za
  6. Del /Q /F "%%a"
  7. )
  8.  
  9. Echo %suma% bytes borrados

PD: en Lista.txt tendrias la lista de esta manera:

Código:
C:\test2\archivo1.exe
C:\test3\archivo2.exe

etc...


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: leogtz en 5 Julio 2011, 19:06 pm
También comentar que en Windows se usa el caracter '\' para las rutas, no /, que es propio de otros SO's.


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: SuperDraco en 5 Julio 2011, 19:37 pm
También comentar que en Windows se usa el caracter '\' para las rutas, no /, que es propio de otros SO's.

*****, ha sido un error al escribir xD gracias. correjido.


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: WaAYa HaCK en 5 Julio 2011, 21:10 pm
Joder, quiero aprender a usar el for de una vez por todas  :P


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: leogtz en 5 Julio 2011, 21:31 pm
Chicos, la indentación la están dejando totalmente de lado, recuerden que es un buen hábito.


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: SuperDraco en 5 Julio 2011, 22:13 pm
Tienes razón, pero porque en el foro no puedo insertar un TAB  xD

saludosss


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: leogtz en 5 Julio 2011, 22:15 pm
Entiendo, tal vez haya un plugin para firefox...


Título: Re: Borrar Archivos y mostrar peso de archivos borrado
Publicado por: Dany3j en 5 Julio 2011, 22:17 pm
Citar
Rmdir C:/test
Del C:/test2/*.*
Del C:/test3/*.exe

 :laugh: no presione shift en mi teclado.. jajajaj :D