Lo de las carpetas 0 bytes, en batch me dio malos resultados, el comando DIR me mentía
, así que te recomiendo este vbs que me dijo
Novlucker, lo ejecutas desde el batch y listo...
"
Comprobar_Carpetas_vacias.vbs"
Dim objFileSystem, objTheFolder
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objTheFolder = objFileSystem.GetFolder(wscript.arguments(0))
If objTheFolder.size > 1 then
wscript.quit(0)
else
wscript.quit(1)
end if
para usarlo en un batch, puedes hacerlo por ejemplo así:
:Carpetas vacias
For /F "Tokens=*"
%%a in ('
dir /B /S /A:D "RUTA_DE_LA_CARPETA"'
) do (
:Comprobar carpeta
"Comprobar_Carpetas_vacias.vbs" "!folder!"
)
Para los archivos menores de X bytes. Puedes usar esto:
~z - display the file sizeAunque como ya he dicho, no recomiendo usarlo sobre carpetas, engaña mucho. En cambio si lo usas sobre archivos nunca me ha dado problemas, y he hecho muchisimas pruebas
en fin aqui un script que posteé hace tiempo:
for /f "tokens=*"
%%a in ('
dir /B /s /A-D "
%systemdrive%\*.exe"'
) do ( )
:log
echo !archivo! >> log.txt
Modificalo a tu gusto
También puedes usar el script de
Novlucker, el vbs, solo hay que modificar una cosa:
Set objTheFolder = objFileSystem.
GetFolder
Set objTheFolder = objFileSystem.
getfilePD:
objTheFolder no importa, es el nombre de la variable.
saludos.