Bienvenue sur le Laboratoire Microsoft !
Nous sommes environ 700 étudiants et travaillons sur plus de 350 projets sur les technologies Microsoft.
Nous préparons la migration de ce portail vers les technologies SharePoint 2010, prévue pour Septembre 2010.
Jean-Sébastien DUCHÊNE et William BORIES
  Laboratoire Microsoft |  CertifExpress 
 Le Forum de Référence sur les Technologies Microsoft - http://www.forum-microsoft.org

[Résolu] Espace disque, interpréteur de commande

Modérateurs: Vash the Stempeed, Modérateurs_Systèmes

[Résolu] Espace disque, interpréteur de commande

Messagepar Frontier sur Mar 02 Déc 2008, 11:35

Bonjour à tous.

Actuellement j'écris un programme d'alerte selon l'espace disque restant.
J'ai donc besoin en passant par MS-DOS, d'obtenir l'espace disque disponible, et ensuite l'espace disque totale ou bien utilisé, afin d'avoir les réponses en pourcentages.

Je réussi bien à récupérer l'espace disque libre avec la commande "dir". Bien sur il éxiste "dir /s" qui me donne l'espace utilisé mais demande trop de ressource et prend trop de temps pour l'application (lancé sur un serveur).

Auriez vous quelque chose qui permettra de répondre à ma requête ? (j'imagine que cela existe vu que ces informations sont disponibles via les propriétés du disque).

Je vous remercie d'avance pour votre aide.

Damien.
Dernière édition par Frontier le Jeu 04 Déc 2008, 15:45, édité 2 fois au total.
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, commande MS-DOS

Messagepar kazer sur Mar 02 Déc 2008, 13:06

Déjà comment fais tu pour faire fonctionner un Dir en Ms DOS sur du NTFS?
Guillaume DESFARGES - Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-10)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Avatar de l’utilisateur
kazer
Second Lord
Second Lord
 
Messages: 38405
Inscrit le: Ven 26 Oct 2001, 21:39
Localisation: Val de Fontenay

Re: Espace disque, commande MS-DOS

Messagepar Frontier sur Mar 02 Déc 2008, 13:26

Euh.. oups. Je crois que "Interpréteur de commande" sera plus approprié pour le définir...

Je change ceci dans l'entête. merci pour ta remarque. ^^

Sinon j'ai trouvé la commande (pour ceux à qui ça intéresseront) : "wmic diskdrive get size" (renvoie la taille totale du disque).

Seulement wmic n'es pas installé sur la plupart des machines auquel j'enverrai mon script. :(
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Mar 02 Déc 2008, 15:52

Donc la question est toujours d'actualité =p
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar kazer sur Mar 02 Déc 2008, 16:37

As tu essayé un script vbs?
Guillaume DESFARGES - Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-10)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Avatar de l’utilisateur
kazer
Second Lord
Second Lord
 
Messages: 38405
Inscrit le: Ven 26 Oct 2001, 21:39
Localisation: Val de Fontenay

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Mar 02 Déc 2008, 17:16

J'en ai bien trouvé un qui correspondrait à mes attentes. Mais je connais tres mal le vbs, et celui là me retournait le résultat dans une petite fenêtre. Ce qui pose des problèmes de récupérations...

C'est bien domage.
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar kazer sur Mer 03 Déc 2008, 13:19

Quel est le contenu du vbs et comment le lances tu?
Guillaume DESFARGES - Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-10)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Avatar de l’utilisateur
kazer
Second Lord
Second Lord
 
Messages: 38405
Inscrit le: Ven 26 Oct 2001, 21:39
Localisation: Val de Fontenay

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Mer 03 Déc 2008, 14:29

C'est un script java qui lance le programme par un "exec".

Je te colle donc le script vbs :

Code: Tout sélectionner
Select Case WScript.Arguments.Count
Case 0
' Default if none specified is local computer ("." )
Set objWMIService = GetObject( "winmgmts://./root/cimv2" )
Set colItems = objWMIService.ExecQuery( "Select * from Win32_ComputerSystem", , 48 )
For Each objItem in colItems
strComputer = objItem.Name
Next
Case 1
' Command line parameter can either be a computer name
' or "/?" to request online help
strComputer = Wscript.Arguments(0)
if InStr( strComputer, "?" ) > 0 Then Syntax
Case Else
' Maximum is 1 command line parameter
Syntax
End Select

Display( strComputer )
WScript.Quit(0)


Function Display( strComputer )
strMsg = vbCrLf & "Name:" & vbTab & "Drive:" & vbTab & "Size:" & _
vbTab & "Free:" & vbTab & "% Free:" & vbCrLf & "=====" & _
vbTab & "======" & vbTab & "=====" & vbTab & "=====" & _
vbTab & "=======" & vbCrLf
On Error Resume Next
Set objWMIService = GetObject( "winmgmts://" & strComputer & "/root/cimv2" )
If Err.Number Then
WScript.Echo vbCrLf & "Error # " & CStr( Err.Number ) & _
" " & Err.Description
Err.Clear
Syntax
End If
On Error GoTo 0
' Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where MediaType=12",,48)
Set colItems = objWMIService.ExecQuery("Select * from Win32_LogicalDisk where DriveType=3",,48)
For Each objItem in colItems
strMsg = strMsg & strComputer & vbTab & _
objItem.Name & vbTab & _
CStr( Int( 0.5 + ( objItem.Size / 1073741824 ) ) ) & _
vbTab & _
CStr( Int( 0.5 + ( objItem.FreeSpace / 1073741824 ) ) ) & _
vbTab & _
CStr( Int( 0.5 + ( 100 * objItem.FreeSpace / objItem.Size) ) ) & _
vbCrLf
Next
WScript.Echo strMsg
End Function

Source : http://www.infos-du-net.com/forum/16761 ... pour-batch

Merci pour ton aide :).
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar kazer sur Mer 03 Déc 2008, 14:46

Ouch un script de merde...

C'est quoi l'OS derrière pour ta demande?
Guillaume DESFARGES - Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-10)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Avatar de l’utilisateur
kazer
Second Lord
Second Lord
 
Messages: 38405
Inscrit le: Ven 26 Oct 2001, 21:39
Localisation: Val de Fontenay

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Jeu 04 Déc 2008, 14:34

Je fais mes tests sur Win XP, mais ce sera au final pour des machines sur Win 2003 serveur.

Je suis d'accord que le script n'a pas l'air terrible. Mais bon. Si je n'ai que ça ! Je pensais pouvoir trouver quelque chose de simple en ligne de commande mais :s

Damien.

P.S. : Désolé pour le temps de réponse.
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar kazer sur Jeu 04 Déc 2008, 14:43

Frontier a écrit:Je fais mes tests sur Win XP, mais ce sera au final pour des machines sur Win 2003 serveur.

Je suis d'accord que le script n'a pas l'air terrible. Mais bon. Si je n'ai que ça ! Je pensais pouvoir trouver quelque chose de simple en ligne de commande mais :s

Damien.

P.S. : Désolé pour le temps de réponse.


J'ai pas le temps là mais regarde du côté de l'aide de vbscript sur le FileSystemObject
Guillaume DESFARGES - Supinfo Promo 2001
MCPTS Windows Server 2008/Virtualisation
MVP Directory Services (2004)/Security (2005-07)/Setup&Dep: Architecture (2008-10)
Profil MVP - Articles - Transcript (ID: 661703 Pass: Gdesfarges) - Bibliographie
Avatar de l’utilisateur
kazer
Second Lord
Second Lord
 
Messages: 38405
Inscrit le: Ven 26 Oct 2001, 21:39
Localisation: Val de Fontenay

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Jeu 04 Déc 2008, 14:58

Ok. Je fais ça des que possible et je te tiens au courant.

Merci.
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23

Re: Espace disque, interpréteur de commande

Messagepar Frontier sur Jeu 04 Déc 2008, 15:43

Pas mal !!!

Voici mon retour :

Code: Tout sélectionner
Set objetFSO = CreateObject("Scripting.FileSystemObject")
Set Lecteur = objetFSO.GetDrive("c:/")
Wscript.Echo "Total Space :"
Wscript.Echo Lecteur.TotalSize
Wscript.Echo "Free Space :"
Wscript.Echo Lecteur.FreeSpace


Voici un exemple si on veut le lancer en ligne de commance :

Code: Tout sélectionner
C:\>CScript prog.vbs
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

Total Space :
79990815744
Free Space :
62769074176


Bon j'ai encore un soucis au niveau de l'appel java, comme l'affichage du vbs met près d'une seconde à prendre, le java plante car il n'a pas toute les données. Enfin bon. Peut etre un wait() ou quelque chose de ce genre à mettre en place. Je vais voir ça.

Merci à toi kazer. T'es un chef ! (et surtout un modo :p).

Bonne journée !

Damien.

Edit : Non en faite c'est moi qui ai fait une erreur dans mon code Java. Ca fonctionne impec ! Merci encore ! :)
Frontier
Novice
Novice
 
Messages: 10
Inscrit le: Mar 02 Déc 2008, 11:23


Retourner vers Autres (Windows 3/2/1, Ms DOS)

Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 0 invités

cron


Accueil | News | Articles | Tips | Outils | Certification | Easters Eggs
Essentiels | Glossaire | Vidéos | Whitepapers | Boîte à Scripts
Conditions d'utilisation & Copyright | Respect de la vie privée