elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.
 
Inicio Ayuda Buscar Ingresar Registrarse
29 Mayo 2012, 06:57  


Tema destacado: Nueva página de elhacker.net en Google+ Google+

+  Foro de elhacker.net
|-+  Programación
| |-+  Scripting (Moderadores: Novlucker, Leo Gutiérrez., EleKtro H@cker)
| | |-+  [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 1,516 veces)
pitoloko


Desconectado Desconectado

Mensajes: 2.500


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

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
@echo off
for /f "tokens=*" %%a in ('dir /B /s "c:\program files (x86)"') do (
echo %%~za "%%a"
pause >nul
)






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
@echo off
setlocal enabledelayedexpansion
 
for /f "tokens=*" %%a in ('dir /B /s /A-D "%systemdrive%\*"') do (
set archivo=%%a
set size=%%~za
call :log
)
 
 
:log
If !size! EQU 0 (
echo !archivo! >> log.txt
echo !size! >> log.txt
echo+ >> log.txt
del /Q /F "!archivo!"
goto:eof
) ELSE (
goto:eof)


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

pa que
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 2,665 Último mensaje 27 Febrero 2009, 17:10
por & eDu &
Buscar archivos en subcarpetas - batch
Scripting
Dead0922 3 4,052 Último mensaje 14 Abril 2009, 19:34
por Leo Gutiérrez.
Batch para buscar y borrar un archivo « 1 2 »
Scripting
analca3 18 6,359 Último mensaje 3 Noviembre 2009, 16:49
por Leo Gutiérrez.
[BATCH] Script para ver archivos que se ejecutan al inicio
Scripting
Davidmatias321 9 1,400 Último mensaje 23 Diciembre 2011, 10:25
por EleKtro H@cker
[Solucionado][Batch] Find (buscar archivos por fecha) y tuberias
Scripting
Baranoides 2 946 Último mensaje 13 Enero 2012, 21:05
por Baranoides
Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines