Discussion:
el tamaño fisico de un fichero
(demasiado antiguo para responder)
F
2005-05-08 19:45:35 UTC
Permalink
Hola como puedo saber el tamaño fisico de un fichero o un directorio (el
numero de bytes no, el tamaño fisico) (para windows)

Gracias
Joseda
2005-05-08 20:02:05 UTC
Permalink
Post by F
Hola como puedo saber el tamaño fisico de un fichero o un directorio (el
numero de bytes no, el tamaño fisico) (para windows)
Gracias
Si te refieres a la superficie en concreto que ocupa el
fichero depende del soporte. No es lo mismo almacenar en un diskete, que en
un cd-rom o una memoria flash. Para calcularlo en el disco duro habría que
calcularlo a partir del número de bytes que ocupa y ¡¡saber la posición el
la que están!! pues las pistas interiores ocupan menos superficie que las
exteriores y en cambio almacenan los mismos bytes
Oscar Garcia
2005-05-08 20:17:36 UTC
Permalink
El Sun, 08 May 2005 19:45:35 GMT, "F"
Post by F
Hola como puedo saber el tamaño fisico de un fichero o un directorio (el
numero de bytes no, el tamaño fisico) (para windows)
Supongamos:
tam = tamaño real del archivo
cluster = tamaño del cluster en bytes

num_clusters = ceil(tam/cluster);
real = num_clusters * cluster;

La forma de averiguar dichos parámetros depende del sistema operativo.
Siento no poder ayudarte en esa cuestión en windows.

Un saludo.
--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/
F
2005-05-08 20:44:46 UTC
Permalink
Vaya, pues gracias de todas formas

En linux mas o menos es facil, por que la orden "stat" te da el numero de
bloques y el tamño de los bloques, pero no encuentro nada para windows :-(
Post by Oscar Garcia
El Sun, 08 May 2005 19:45:35 GMT, "F"
Post by F
Hola como puedo saber el tamaño fisico de un fichero o un directorio (el
numero de bytes no, el tamaño fisico) (para windows)
tam = tamaño real del archivo
cluster = tamaño del cluster en bytes
num_clusters = ceil(tam/cluster);
real = num_clusters * cluster;
La forma de averiguar dichos parámetros depende del sistema operativo.
Siento no poder ayudarte en esa cuestión en windows.
Un saludo.
--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Oscar Garcia
2005-05-08 22:37:51 UTC
Permalink
El Sun, 08 May 2005 20:44:46 GMT, "F"
Post by F
En linux mas o menos es facil, por que la orden "stat" te da el numero de
bloques y el tamño de los bloques, pero no encuentro nada para windows :-(
Quizá te ayude cygwin. Podrías usar las DLLs de cygwin para obtener lo
que te interese. No me preguntes cómo porque no estoy familiarizado en
la programación bajo Windows, pero al ser una librería que puede ser
cargada y utilizada debe tener alguna llamada pública.

Un saludo y suerte.
P.D.: Si encuentras algo no olvides ponerlo por aquí para que personas
que busquen lo mismo que tú en un futuro lo puedan encontrar.
--
Óscar Javier García Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Zephryn Xirdal
2005-05-09 08:35:17 UTC
Permalink
Para windows, y con visual c++,

_getdiskfree


ms-help://MS.VSCC.2003/MS.MSDNQTR.2005APR.1033/vclib/html/vclrf_getdiskf=
ree.htm

http://msdn.microsoft.com/library/default.asp?url=3D/library/en-us/vclib=
/html/vclrf_getdiskfree.asp



On Sun, 08 May 2005 22:44:46 +0200, F =
Post by F
Vaya, pues gracias de todas formas
En linux mas o menos es facil, por que la orden "stat" te da el numero=
de
Post by F
bloques y el tam=F1o de los bloques, pero no encuentro nada para windo=
ws =
Post by F
:-(
Post by Oscar Garcia
El Sun, 08 May 2005 19:45:35 GMT, "F"
Hola como puedo saber el tama=F1o fisico de un fichero o un director=
io =
Post by F
Post by Oscar Garcia
(el
numero de bytes no, el tama=F1o fisico) (para windows)
tam =3D tama=F1o real del archivo
cluster =3D tama=F1o del cluster en bytes
num_clusters =3D ceil(tam/cluster);
real =3D num_clusters * cluster;
La forma de averiguar dichos par=E1metros depende del sistema operati=
vo.
Post by F
Post by Oscar Garcia
Siento no poder ayudarte en esa cuesti=F3n en windows.
Un saludo.
--
=D3scar Javier Garc=EDa Baudet
LinaresDigital
http://redstar.linaresdigital.com/
Loading...