IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBScript Discussion :

Connaitre le pourcentage d'espace libre d'un disque


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut Connaitre le pourcentage d'espace libre d'un disque
    Bonjour

    J'aimerais connaitre le pourcentage d'espace libre d'un disque à partir du nom d'un fichier.

    C'est mon premier script en vbs et voila ce que j'ai fait:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Set objetFSO = CreateObject("Scripting.FileSystemObject")
    Set Fichier = objetFSO.GetFile("C:\Documents and Settings\X084736\Bureau\temp.txt")
    Wscript.Echo Fichier.Drive
    Set objetFSO2 = CreateObject("Scripting.DriveSystemObject")
    Set Lecteur = objetFSO.GetDrive(Fichier.Drive)
    Wscript.Echo objetFSO.AvailableSpace
    J'ai quelques questions:

    - Avec ce code j'ai l'erreur suivante: Un composant Activx ne peut pas créer un objet: 'Scripting.DriveSystemObject' et je ne comprends pas pourquoi !
    - J'aimerais que le résultat soit écris sur la sortie standard et non dans une fenêtre popo ! quelle méthode ?
    - J'aimerais passé le nom du fichier en parametre dans la ligne de copmmande

    Merci d'avance pour votre aide

    Seb

  2. #2
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    Avec ce code j'ai l'erreur suivante: Un composant Activx ne peut pas créer un objet: 'Scripting.DriveSystemObject' et je ne comprends pas pourquoi !
    Cela ne marche pas chez moi non plus, et je ne trouve qu'un seul site qui propose d'utiliser cet objet. Mais aucune autre information sur DriveSystemObject, à croire que le site en question à inventer n'importe quoi.
    Il est probable que l'objet utilise un controle activeX particulier que tu n'as pas, mais va savoir lequel.
    Apparement tu pourrais faire la même chose avec les API WMI (Win32_LogicalDisk) mais j'ai essayé chez moi, et si je peux avoir la taille du disque, le paramètre Availbility ne contient aucune info. Cela dépend peut être des machines.

    J'aimerais que le résultat soit écris sur la sortie standard et non dans une fenêtre popo ! quelle méthode ?
    Celle que tu as utilisé !
    Echo envoie vers la sortie standard.
    La sortie standard de Wscript est une popup. Utilise Cscript, sa sortie standard est une console.
    W = Windows et C = Console

    J'aimerais passé le nom du fichier en parametre dans la ligne de copmmande
    FAQ VBScript

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 12
    Par défaut
    J'ai pu avancé

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Set arguments = WScript.Arguments
    Set objetFSO = CreateObject("Scripting.FileSystemObject")
    Set Fichier = objetFSO.GetFile(arguments(0))
     
    Set oFSO = CreateObject("Scripting.FileSystemObject")
    Set oDrv = oFso.GetDrive(Fichier.Drive)
     
    pct = (oDrv.TotalSize - oDrv.FreeSpace) / oDrv.TotalSize  
     
    wScript.echo pct
    Mais je n'arirve pas à ecrire sur la sortie standart de la console: cscript.echo ne marche pas !

    seb

  4. #4
    Expert confirmé
    Avatar de ced600
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Août 2006
    Messages
    3 364
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Août 2006
    Messages : 3 364
    Par défaut
    autant pour moi j'ai dit n'importe quoi.

    Si tu laisses Wscript.echo dans ton code, et que tu lance en ligne de commande ton script comme suit :
    L'affichage se fera sur la console.

  5. #5
    Expert éminent


    Profil pro
    Inscrit en
    Juin 2003
    Messages
    14 008
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 14 008

Discussions similaires

  1. Obtenir l'espace libre d'un disque dur
    Par Altess dans le forum C++
    Réponses: 9
    Dernier message: 18/02/2014, 17h53
  2. connaitre l'espace libre de tous les disques réseaux
    Par gretch dans le forum Windows Serveur
    Réponses: 3
    Dernier message: 05/02/2008, 12h41
  3. [Free Pascal] Connaître l'espace libre d'un disque (Windows/Linux)
    Par Merlin09 dans le forum Free Pascal
    Réponses: 2
    Dernier message: 03/02/2008, 22h33
  4. [Système] Connaitre la capacité d'un disque dur et l'espace libre
    Par sebastakis dans le forum API standards et tierces
    Réponses: 7
    Dernier message: 03/12/2007, 11h48
  5. Espace Libre sur les disques
    Par SILO dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 28/07/2006, 11h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo