Vala... Je cherche à récupérer la capacité d'un disque ainsi que le
poids d'un répertoire précis.
Alors j'ai cherché un moment et j'ai trouvé win32api.GetDiskFreeSpaceEx
pour récupérer la capacité d'un disque.
Par contre, pour le poids d'un répertoire, je n'ai rien trouvé de
concluant... J'ai essayé avec GetFileAttributes, mais il me retourne
juste un entier (16). Est-ce que quelqu'un aurai une idée sur la question ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
kaerbuhez
Bonjour à tous !!
Vala... Je cherche à récupérer la capacité d'un disque ainsi que le poids d'un répertoire précis.
Alors j'ai cherché un moment et j'ai trouvé win32api.GetDiskFreeSpaceEx pour récupérer la capacité d'un disque.
Par contre, pour le poids d'un répertoire, je n'ai rien trouvé de concluant... J'ai essayé avec GetFileAttributes, mais il me retourne juste un entier (16). Est-ce que quelqu'un aurai une idée sur la question ?
D'avance merci à vos suggestions.
a++
Thierry A mon avis, ça n'existe pas. Si je clique droit sur un répertoire dans
Windows Explorer et que je clique sur propriétés, le "poids" est calculé : choisis un gros répertoire - documents and settings par exemple et tu verras. Je pense que u dois faire la même chose. Attention, ceci n'est qu'un avis, je ne suis pas un grand connaisseur de win32 mais c'est comme ça que je ferais.
Bonjour à tous !!
Vala... Je cherche à récupérer la capacité d'un disque ainsi que le
poids d'un répertoire précis.
Alors j'ai cherché un moment et j'ai trouvé win32api.GetDiskFreeSpaceEx
pour récupérer la capacité d'un disque.
Par contre, pour le poids d'un répertoire, je n'ai rien trouvé de
concluant... J'ai essayé avec GetFileAttributes, mais il me retourne
juste un entier (16). Est-ce que quelqu'un aurai une idée sur la question ?
D'avance merci à vos suggestions.
a++
Thierry
A mon avis, ça n'existe pas. Si je clique droit sur un répertoire dans
Windows Explorer et que je clique sur propriétés, le "poids" est calculé
: choisis un gros répertoire - documents and settings par exemple et tu
verras. Je pense que u dois faire la même chose. Attention, ceci n'est
qu'un avis, je ne suis pas un grand connaisseur de win32 mais c'est
comme ça que je ferais.
Vala... Je cherche à récupérer la capacité d'un disque ainsi que le poids d'un répertoire précis.
Alors j'ai cherché un moment et j'ai trouvé win32api.GetDiskFreeSpaceEx pour récupérer la capacité d'un disque.
Par contre, pour le poids d'un répertoire, je n'ai rien trouvé de concluant... J'ai essayé avec GetFileAttributes, mais il me retourne juste un entier (16). Est-ce que quelqu'un aurai une idée sur la question ?
D'avance merci à vos suggestions.
a++
Thierry A mon avis, ça n'existe pas. Si je clique droit sur un répertoire dans
Windows Explorer et que je clique sur propriétés, le "poids" est calculé : choisis un gros répertoire - documents and settings par exemple et tu verras. Je pense que u dois faire la même chose. Attention, ceci n'est qu'un avis, je ne suis pas un grand connaisseur de win32 mais c'est comme ça que je ferais.
Do Re Mi chel La Si Do
Bonjour aussi !
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut même obtenir les informations pour une autre ordinateur du réseau ; il suffit de remplacer strComputer = "." par strComputer = "NOMPOSTEDISTANT"
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme # par Michel Claveau
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux
essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut
même obtenir les informations pour une autre ordinateur du réseau ; il
suffit de remplacer
strComputer = "."
par
strComputer = "NOMPOSTEDISTANT"
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme
# par Michel Claveau
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut même obtenir les informations pour une autre ordinateur du réseau ; il suffit de remplacer strComputer = "." par strComputer = "NOMPOSTEDISTANT"
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme # par Michel Claveau
Pour connaître la taille d'un répertoire, le mieux est d'utiliser os.walk, et d'additionner les informations de taille des fichiers.
Mais, il va falloir déterminer si tu veux travailler avec la taille exacte des fichiers, la taille sur le disque, et, éventuellement, la taille compressée. De même, voudrais-tu la taille du seule répertoire, ou celle avec les sous-répertoires (ou encore, avoir les deux informations).
@-salutations
Michel Claveau
Re !
Pour connaître la taille d'un répertoire, le mieux est d'utiliser os.walk,
et d'additionner les informations de taille des fichiers.
Mais, il va falloir déterminer si tu veux travailler avec la taille exacte
des fichiers, la taille sur le disque, et, éventuellement, la taille
compressée.
De même, voudrais-tu la taille du seule répertoire, ou celle avec les
sous-répertoires (ou encore, avoir les deux informations).
Pour connaître la taille d'un répertoire, le mieux est d'utiliser os.walk, et d'additionner les informations de taille des fichiers.
Mais, il va falloir déterminer si tu veux travailler avec la taille exacte des fichiers, la taille sur le disque, et, éventuellement, la taille compressée. De même, voudrais-tu la taille du seule répertoire, ou celle avec les sous-répertoires (ou encore, avoir les deux informations).
@-salutations
Michel Claveau
Do Re Mi chel La Si Do
Re-re
Autre démarche : wrapper les commandes internes de Windows ; en l'occurrence, DIR Ci-dessous, un exemple, avec subprocess. Evidemment, il faut indiquer le répertoire voulu.
A noter que, d'après des tests antérieurs, cette méthode est beaucoup plus rapide que os.walk.
Autre démarche : wrapper les commandes internes de Windows ; en
l'occurrence, DIR
Ci-dessous, un exemple, avec subprocess.
Evidemment, il faut indiquer le répertoire voulu.
A noter que, d'après des tests antérieurs, cette méthode est beaucoup plus
rapide que os.walk.
Autre démarche : wrapper les commandes internes de Windows ; en l'occurrence, DIR Ci-dessous, un exemple, avec subprocess. Evidemment, il faut indiquer le répertoire voulu.
A noter que, d'après des tests antérieurs, cette méthode est beaucoup plus rapide que os.walk.
Est-il possible d'utiliser cette même méthode "popen4" en récupérant la taille utilisée sur le disque ? Car en fait le but est de faire une comparaison entre la capacité d'un lecteur amovible et la taille d'un répertoire, pour savoir si son contenu est copiable sur le lecteur. Donc la taille utilisée sur le disque serait plus intéressante à récupérer.
M'enfin, déjà merci pour ces divers exemples.
Je vais creuser du côté de os.walk pour voir ce que je peux trouver.
A++
Thierry
Re-re-re
Pour ceussent qui seraient en Python-2.3, et n'auraient pas installé subprocess, voici la même chose, en version popen4 :
@-salutations
Michel Claveau
import os stmp=os.popen4(r'cmd /cdir D:devpython*.* /-C /S /W')[1].readlines()[-2:]
sret=stmp[0].split() print "Nb fichiers :",sret[0] print "Taille totale :",sret[2]
Est-il possible d'utiliser cette même méthode "popen4" en récupérant la
taille utilisée sur le disque ?
Car en fait le but est de faire une comparaison entre la capacité d'un
lecteur amovible et la taille d'un répertoire, pour savoir si son
contenu est copiable sur le lecteur.
Donc la taille utilisée sur le disque serait plus intéressante à récupérer.
M'enfin, déjà merci pour ces divers exemples.
Je vais creuser du côté de os.walk pour voir ce que je peux trouver.
A++
Thierry
Re-re-re
Pour ceussent qui seraient en Python-2.3, et n'auraient pas installé
subprocess, voici la même chose, en version popen4 :
@-salutations
Michel Claveau
import os
stmp=os.popen4(r'cmd /cdir D:devpython*.* /-C /S /W')[1].readlines()[-2:]
sret=stmp[0].split()
print "Nb fichiers :",sret[0]
print "Taille totale :",sret[2]
Est-il possible d'utiliser cette même méthode "popen4" en récupérant la taille utilisée sur le disque ? Car en fait le but est de faire une comparaison entre la capacité d'un lecteur amovible et la taille d'un répertoire, pour savoir si son contenu est copiable sur le lecteur. Donc la taille utilisée sur le disque serait plus intéressante à récupérer.
M'enfin, déjà merci pour ces divers exemples.
Je vais creuser du côté de os.walk pour voir ce que je peux trouver.
A++
Thierry
Re-re-re
Pour ceussent qui seraient en Python-2.3, et n'auraient pas installé subprocess, voici la même chose, en version popen4 :
@-salutations
Michel Claveau
import os stmp=os.popen4(r'cmd /cdir D:devpython*.* /-C /S /W')[1].readlines()[-2:]
sret=stmp[0].split() print "Nb fichiers :",sret[0] print "Taille totale :",sret[2]
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut même obtenir les informations pour une autre ordinateur du réseau ; il suffit de remplacer strComputer = "." par strComputer = "NOMPOSTEDISTANT"
Comme je suis plutôt inculte en python et pas très au courant avec windows, je vais peut-être poser une question conne... C'est quoi, WMI ?? Est-ce qu'il faut être administrateur ? est-ce qu'en général, c'est autorisé, ou plutôt restreint ?
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme # par Michel Claveau
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux
essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut
même obtenir les informations pour une autre ordinateur du réseau ; il
suffit de remplacer
strComputer = "."
par
strComputer = "NOMPOSTEDISTANT"
Comme je suis plutôt inculte en python et pas très au courant avec
windows, je vais peut-être poser une question conne... C'est quoi, WMI
?? Est-ce qu'il faut être administrateur ? est-ce qu'en général, c'est
autorisé, ou plutôt restreint ?
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme
# par Michel Claveau
Pour avoir quelques informations sur les disques logiques d'un PC, tu peux essayer le script ci-dessous.
Attention WMI doit être autorisé. Si les droits sont suffisants, on peut même obtenir les informations pour une autre ordinateur du réseau ; il suffit de remplacer strComputer = "." par strComputer = "NOMPOSTEDISTANT"
Comme je suis plutôt inculte en python et pas très au courant avec windows, je vais peut-être poser une question conne... C'est quoi, WMI ?? Est-ce qu'il faut être administrateur ? est-ce qu'en général, c'est autorisé, ou plutôt restreint ?
@-salutations
Michel Claveau
# informations reduites sur les disques logiques d'un systeme # par Michel Claveau
Le premier script (par WMI) donne, notamment, la taille totale de chaque disque. Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille occupée. Ce calcul se fait par utilisation d'un algorithme mathématique, appelé "soustraction". Et, comble de bonheur pour toi, Python est capable d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu d'empathie avec "Complot", qui passe, en ce moment, à la TV.
Bonsoir !
Le premier script (par WMI) donne, notamment, la taille totale de chaque
disque.
Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille
occupée. Ce calcul se fait par utilisation d'un algorithme mathématique,
appelé "soustraction". Et, comble de bonheur pour toi, Python est capable
d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas
encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je
ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu
d'empathie avec "Complot", qui passe, en ce moment, à la TV.
Le premier script (par WMI) donne, notamment, la taille totale de chaque disque. Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille occupée. Ce calcul se fait par utilisation d'un algorithme mathématique, appelé "soustraction". Et, comble de bonheur pour toi, Python est capable d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu d'empathie avec "Complot", qui passe, en ce moment, à la TV.
Do Re Mi chel La Si Do
Bonsoir !
WMI, c'est Windows Management Instrumentation. C'est l'implantation, dans Windows, de la norme WBEM de la DMTF (Distributed Management Task Force ; http://www.dmtf.org/standards/wbem/). Cette norme permet à l'utilisateur d'obtenir beaucoup d'informations sur leur système ; et, dans une certaine mesure, permet aussi de modifier des paramètres.
En théorie, elle devrait être implémentée dans tous les O.S. ; malheureusement, quelques-uns ne respectent pas les normes.
Bref, pour windows, WMI peut être utilisé de trois façons : - par un API direct ; - par COM ; - en invite de commande, grâce à WMIC.exe (pour l'aide, taper WMIC /?)
Pour les droits, c'est assez compliqué, car ils peuvent varier selon les éléments. Par défaut, ils sont activés, au moins en lecture, pour tout le monde. On peut les ajuster, en passant par "Services & Applications" de la console de gestion du poste de travail (clic-droit + gérer).
Le plus simple, c'est d'essayer le script.
@-salutations
Michel Claveau
Bonsoir !
WMI, c'est Windows Management Instrumentation. C'est l'implantation, dans
Windows, de la norme WBEM de la DMTF (Distributed Management Task Force ;
http://www.dmtf.org/standards/wbem/). Cette norme permet à l'utilisateur
d'obtenir beaucoup d'informations sur leur système ; et, dans une certaine
mesure, permet aussi de modifier des paramètres.
En théorie, elle devrait être implémentée dans tous les O.S. ;
malheureusement, quelques-uns ne respectent pas les normes.
Bref, pour windows, WMI peut être utilisé de trois façons :
- par un API direct ;
- par COM ;
- en invite de commande, grâce à WMIC.exe (pour l'aide, taper WMIC /?)
Pour les droits, c'est assez compliqué, car ils peuvent varier selon les
éléments. Par défaut, ils sont activés, au moins en lecture, pour tout le
monde.
On peut les ajuster, en passant par "Services & Applications" de la console
de gestion du poste de travail (clic-droit + gérer).
WMI, c'est Windows Management Instrumentation. C'est l'implantation, dans Windows, de la norme WBEM de la DMTF (Distributed Management Task Force ; http://www.dmtf.org/standards/wbem/). Cette norme permet à l'utilisateur d'obtenir beaucoup d'informations sur leur système ; et, dans une certaine mesure, permet aussi de modifier des paramètres.
En théorie, elle devrait être implémentée dans tous les O.S. ; malheureusement, quelques-uns ne respectent pas les normes.
Bref, pour windows, WMI peut être utilisé de trois façons : - par un API direct ; - par COM ; - en invite de commande, grâce à WMIC.exe (pour l'aide, taper WMIC /?)
Pour les droits, c'est assez compliqué, car ils peuvent varier selon les éléments. Par défaut, ils sont activés, au moins en lecture, pour tout le monde. On peut les ajuster, en passant par "Services & Applications" de la console de gestion du poste de travail (clic-droit + gérer).
Le plus simple, c'est d'essayer le script.
@-salutations
Michel Claveau
Titouille
Ok, merci pour toutes ces infos Michel (WMI également), tu donne de très bonnes explications ;)
A++
Thierry
Bonsoir !
Le premier script (par WMI) donne, notamment, la taille totale de chaque disque. Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille occupée. Ce calcul se fait par utilisation d'un algorithme mathématique, appelé "soustraction". Et, comble de bonheur pour toi, Python est capable d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu d'empathie avec "Complot", qui passe, en ce moment, à la TV.
Ok, merci pour toutes ces infos Michel (WMI également), tu donne de très
bonnes explications ;)
A++
Thierry
Bonsoir !
Le premier script (par WMI) donne, notamment, la taille totale de chaque
disque.
Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille
occupée. Ce calcul se fait par utilisation d'un algorithme mathématique,
appelé "soustraction". Et, comble de bonheur pour toi, Python est capable
d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas
encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je
ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu
d'empathie avec "Complot", qui passe, en ce moment, à la TV.
Ok, merci pour toutes ces infos Michel (WMI également), tu donne de très bonnes explications ;)
A++
Thierry
Bonsoir !
Le premier script (par WMI) donne, notamment, la taille totale de chaque disque. Le dernier script (message précédent) donne, notamment, la taille libre.
A partir de ces deux informations, il est possible de calculer le taille occupée. Ce calcul se fait par utilisation d'un algorithme mathématique, appelé "soustraction". Et, comble de bonheur pour toi, Python est capable d'utiliser la soustraction. Si ! Si !
Évidemment, cela nécessite de saisir le code nécessaire. Python n'est pas encore arrivé au niveau de facilité d'un langage comme EASY. Mais, enfin, je ne pense pas que ce soit insurmontable.
@-salutations
Michel Claveau
PS : je ne suis ni méchant, ni cyclothymique ; c'est seulement un peu d'empathie avec "Complot", qui passe, en ce moment, à la TV.