Mensajes: 1,294
Temas: 461
Gracias Recibidas: 325 en 238 posts
Gracias Dadas: 217
Registro en: Jul 2020
Buenas!.
Tenemos el método size de la clase Stat. Pero eso no da el tamaño de un directorio, nos da el de un archivo.
¿ No existe en Gambas esa posibilidad ?. Sin tener que hacer uso del comando "du" desde Shell.
¿ Un procedimiento recursivo que vaya sumando el tamaño de cada archivo ?.
Saludos
"El buen perfume en frasco pequeño se vende"
Mensajes: 1,294
Temas: 461
Gracias Recibidas: 325 en 238 posts
Gracias Dadas: 217
Registro en: Jul 2020
Partiendo de este ejemplo:
GAMBAS
iSize = hStat.Size
sPath = sDir &/ sFile
Try iSize
+= ScanDir
(sPath
)
Se encuentra en la lista internacional.
Saludos
"El buen perfume en frasco pequeño se vende"
Mensajes: 340
Temas: 25
Gracias Recibidas: 89 en 69 posts
Gracias Dadas: 11
Registro en: Jul 2020
Eh, sì... tendrás que usar la función "Dir()".
"Los horizontes perdidos nunca regresan. " (F. Battiato, La stagione dell'amore, 1983)
"Las ondas nunca regresan. " (Genesis: Ripples - A trick of the tail, 1976)
Mensajes: 1,358
Temas: 193
Gracias Recibidas: 320 en 238 posts
Gracias Dadas: 234
Registro en: Jul 2020
(07-03-2021, 12:22)Shell escribió: Sin tener que hacer uso del comando "du" desde Shell.
Pues si, lo unico que se me ocurre es eso, usar du.
Bash
du --summarize ~/UnDirectorio/
Saludos.
1 Saludo.
Mensajes: 147
Temas: 2
Gracias Recibidas: 107 en 70 posts
Gracias Dadas: 8
Registro en: Jul 2020
09-03-2021, 17:39
(Última modificación: 09-03-2021, 17:40 por
cogier.)
¿Ayudará esto?
GAMBAS
lSize
+= Stat(sPath
&/ sFile
).
Size
Return sPath
& " = " & Format(lSize
/ 1000000,
"0.0") & "MB"
Mensajes: 385
Temas: 7
Gracias Recibidas: 102 en 80 posts
Gracias Dadas: 103
Registro en: May 2020
(09-03-2021, 17:39)cogier escribió: ¿Ayudará esto?
Sólo funciona si dentro de un directorio sólo hay ficheros. Si hay varios niveles de directorios y subdirectorios, creo que no va a funcionar. Tendría que ser una función recursiva que vaya entrando en cada subdirectorio, sumando tamaños y regresando a la raíz para continuar con el siguiente.
Saludos
Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
Mensajes: 147
Temas: 2
Gracias Recibidas: 107 en 70 posts
Gracias Dadas: 8
Registro en: Jul 2020
(09-03-2021, 22:08)jguardon escribió: Sólo funciona si dentro de un directorio sólo hay ficheros. Si hay varios niveles de directorios y subdirectorios, creo que no va a funcionar. Tendría que ser una función recursiva que vaya entrando en cada subdirectorio, sumando tamaños y regresando a la raíz para continuar con el siguiente.
En primer lugar, ¡bienvenido!
Simplemente cambia 'Dir' por 'RDir'. Eso escaneará todos los subdirectorios.
Mensajes: 385
Temas: 7
Gracias Recibidas: 102 en 80 posts
Gracias Dadas: 103
Registro en: May 2020
(13-03-2021, 18:24)cogier escribió: Simplemente cambia 'Dir' por 'RDir'. Eso escaneará todos los subdirectorios.
Wow, no conocía la función recursiva RDir. Genial!!!!
Muchas gracias, cogier
Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
Mensajes: 1,294
Temas: 461
Gracias Recibidas: 325 en 238 posts
Gracias Dadas: 217
Registro en: Jul 2020
(09-03-2021, 17:39)cogier escribió: ¿Ayudará esto?
Gracias Charlie.
Lo pruebo y comento.
Saludos
"El buen perfume en frasco pequeño se vende"