Test Foro de elhacker.net SMF 2.1

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

@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 (dos) [Seleccionar]
@echo off
if not exist %1 echo Especifica un archivo para borrar! & exit
echo El peso del archivo borrado es: %~z1 KB
del %1
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 (vb) [Seleccionar]

Option Explicit
Dim objFileSystem, objTheFolder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTheFolder = objFileSystem.GetFolder(wscript.arguments(0))

wscript.echo objTheFolder.size

end if


bueno, toma el bat:

Código (dos) [Seleccionar]
@echo off
For /f %%a in ('type lista.txt') do (

echo "%%a" pesa %%~za bytes
Set /a suma+=%%~za
Del /Q /F "%%a"
)

Echo %suma% bytes borrados
pause >nul


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

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
Cita de: Leo Gutiérrez. 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.

*****, 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
CitarRmdir C:/test
Del C:/test2/*.*
Del C:/test3/*.exe

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