elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting
| | |-+  [Batch] [vbs] ¿Un script para buscar archivos de cero bytes?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Batch] [vbs] ¿Un script para buscar archivos de cero bytes?  (Leído 4,543 veces)
SuperDraco


Desconectado Desconectado

Mensajes: 2.505


Crew Dragon


Ver Perfil
[Batch] [vbs] ¿Un script para buscar archivos de cero bytes?
« en: 13 Mayo 2011, 20:09 pm »

Hola, pues tengo echo en batch un limpiador personalizado de mi sistema, al que le quiero meter un código para encontrar y eliminar archivos de cero bytes.

El problema es que toda la informacion que he encontrado al respecto, scripts y ejemplos de otra gente, en todos siempre usan esto:

%~z1 - display the file size of %1

Lo he probado a usar con un for, como en el ejemplo de los demás: %%~za

Pero me niego a usarlo de esa manera, porque no me funciona correctamente, con la mayoria de carpetas me devuelve un valor de 0 bytes (Cuando realmente no están vacías), y luego con las que no están vacías siempre me manda el valor 4096, ni más ni menos, ¿Como se explica esto? :/

Me parece peligroso usarlo para limpiar todo el disco duro porque no funciona bien, Entonces estoy buscando alguna otra alternativa, en batch o vbs para meterlo en el batch, ya que el programa sizeof tampoco me sirve.

Aunque bueno, con las carpetas no es mi prioridad, supongo que con un dir | findstr "bytes" puedo hacerlo de momento sin que haya errores, pero ¿como puedo buscar archivos de cero bytes?

¿Alguien sabe algo?

Muchas gracias...



Aqui la prueba de que no funciona, o quizas lo estoy haciendo mal:


Código
  1. @echo off
  2. for /f "tokens=*" %%a in ('dir /B /s "c:\program files (x86)"') do (
  3. echo %%~za "%%a"
  4. )






EDITO:


Bueno, parece que al final he conseguido buenos resultados y funciona, pero con las carpetas no, así que he tenido que excluirlas del "dir":



Código
  1. @echo off
  2. setlocal enabledelayedexpansion
  3.  
  4. for /f "tokens=*" %%a in ('dir /B /s /A-D "%systemdrive%\*"') do (
  5. set archivo=%%a
  6. set size=%%~za
  7. call :log
  8. )
  9.  
  10.  
  11. :log
  12. If !size! EQU 0 (
  13. echo !archivo! >> log.txt
  14. echo !size! >> log.txt
  15. echo+ >> log.txt
  16. del /Q /F "!archivo!"
  17. goto:eof
  18. ) ELSE (
  19. goto:eof)


« Última modificación: 13 Mayo 2011, 21:02 pm por pitoloko » En línea

No he vuelto, solo estoy de paso.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Ayuda] Script en php para buscar en la base de datos
PHP
polmp 5 5,656 Último mensaje 27 Febrero 2009, 17:10 pm
por & eDu &
Buscar archivos en subcarpetas - batch
Scripting
Dead0922 3 12,408 Último mensaje 14 Abril 2009, 19:34 pm
por leogtz
[BATCH] Script para ver archivos que se ejecutan al inicio
Scripting
Davidmatias321 9 6,949 Último mensaje 23 Diciembre 2011, 10:25 am
por Eleкtro
[Solucionado][Batch] Find (buscar archivos por fecha) y tuberias
Scripting
Baranoides 2 14,724 Último mensaje 13 Enero 2012, 21:05 pm
por Baranoides
[BATCH] Copiar archivos de usb Script bath « 1 2 »
Scripting
asdexiva 10 12,896 Último mensaje 2 Marzo 2013, 20:22 pm
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines