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

Windows Discussion :

[batch]taille d'un dossier


Sujet :

Windows

  1. #1
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut [batch]taille d'un dossier
    Salut.
    Je voudrais pouvoir connaitre la taille d'un dossier précis pour l'extraire ensuite dans un fichier de log avec un batch (sous win 2003 server) ou même un script vb. L'extraire me pose pas de problème, mais j'ai pas trouvé de solution simple pour la taille du dossier. le seul truc que j'ai réussi à faire c'est un script qui additionne la taille de tous les fichiers présent dans mon dossier et ses sous-dossiers... et je trouve ça un peu sale comme méthode (puis en plus ça prned du temps).
    Si quelqu'un à une idée... Merci

  2. #2
    mat.M
    Invité(e)
    Par défaut
    ??? la commande Dir> fichier.txt ne le fait pas ?

  3. #3
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    En fait tu peux obtenir la taille du dossier en faisant un dir /a /s.
    A la fin du à le total de tout les fichiers (bon il manque une misère par rapport à la taille totale genre 4056 octets on s'en tape).
    le problème c'est que la copie dans le fichier txt foirouille et le total est mal formaté:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     Total des fichiers list‚sÿ:
                 484 fichier(s)    3ÿ156ÿ495ÿ047 octets
                 124 R‚p(s)  11ÿ990ÿ487ÿ040 octets libres
    ...
    Et moi je voudrais réutiliser ces données pour faire des calculs d'occupations du disque et des graphique (c'est un serveur de sauvegarde avecdes volumes importants)... Et cette conneries m'emmerde dans la recherche des caractères même si je copie les deux dernière ligne je peux pas m'en servir...

  4. #4
    Rédacteur


    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    7 171
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 7 171
    Points : 15 060
    Points
    15 060
    Billets dans le blog
    1
    Par défaut
    Salut,
    pour les caractères il faut utiliser une autre page de code mais je ne me souviens plus laquelle est-ce, j'avais proposé une solution il y a qq temps mais le post à été effacé je crois.

    Sinon utilise WMI et VBScript. Recherche ici au cas où :
    http://msdn.microsoft.com/newsgroups/default.aspx

  5. #5
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Ouais j'ai réussi à bidouiller un truc en VBscript (même si c'est pourri ça fonctionne à peut près).
    Merci

  6. #6
    Candidat au Club
    Inscrit en
    Août 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Pour ceux que ça interesse voici le script.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    '========================
    '
    ' Script verification taille
    ' repertoires
    '
    '
    '========================
    
    '###Main####
    On Error Resume Next
    
    '==Variables==
    Dim CurrentDate
    Dim resultsfile
    Dim FSO
    Dim res
    Dim varFldr, varFldrName, varFldrSize
    
    '==Variables utilisateurs==
    CurrentDate = Now
    '==destination log==
    resultsfile = "C:\com\vb\cadet.txt"
    '==repertoire cible==
    arrServer = Array("c:\windows\")
    
    '==System variables - Do Not Change==
    const HKEY_LOCAL_MACHINE = &H80000002
    const forReading = 1
    const forWriting = 2
    const forAppending = 8
    CutOff = Date()  -1
    
    '==creation du conteur==
    Set FSO = CreateObject("Scripting.FileSystemObject")
    
    
    '==ecriture du resultat dans fichier avec test==
    If (fso.FileExists(resultsfile)) Then	
    	set res = FSO.opentextfile(resultsfile, forAppending)
    	res.Writeline  date() & ";"
    	chkfldrspace(arrServer)
    	'####Check Folder Space Subroutine####
    	Sub chkfldrspace (arrObject)
    
    	'==Cycle through the array to run the subroutine==
    	Dim varFolder
    	For each varFldr in arrObject
    	Set varFolder = FSO.GetFolder(varFldr)
    	varFldrSize = Round(varFolder.size/1048576, 2)
    
    	'==ecriture du resultat dans fichier==
    	res.Writeline ( UCase(varFolder.Name) & ";" )
    	res.Writeline ( varFldrSize )
        next
    	
    	End Sub
    	'####End Check Folder Space Subroutine####
    else 
    	Set FSO = CreateObject("Scripting.FileSystemObject")
    	Set res = FSO.CreateTextFile(resultsfile, True)
    	res.Writeline  date() & ";" 
    	chkfldrspace(arrServer)
    	'####Check Folder Space Subroutine####
    	Sub chkfldrspace (arrObject)
    
    	'==Cycle through the array to run the subroutine==
    	Dim varFolder
    	For each varFldr in arrObject
    	Set varFolder = FSO.GetFolder(varFldr)
    	varFldrSize = Round(varFolder.size/1048576, 2)
    
    	'==ecriture du resultat dans fichier==
    	res.Writeline ( UCase(varFolder.Name) & ";" )
    	res.Writeline ( varFldrSize )
    	next
    	
    	End Sub
    '####End Check Folder Space Subroutine####
    end if
    Toute critique est la bienvenue... Je pense qu'il y a moyen d'alléger mais je maîtrise pas VB. Ceux qui savent... Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Batch - recherche fichier ou dossier et obtention de la taille
    Par bru38 dans le forum Téléchargements
    Réponses: 0
    Dernier message: 20/02/2014, 17h08
  2. Réponses: 5
    Dernier message: 10/07/2007, 01h02
  3. [BATCH]: Comparer la taille de 2 dossiers
    Par ADONET dans le forum Autres Logiciels
    Réponses: 3
    Dernier message: 19/03/2006, 15h57
  4. recupérer la taille d'un dossier...
    Par Empty_body dans le forum Langage
    Réponses: 1
    Dernier message: 03/02/2006, 16h02
  5. Récupérer la taille d'un dossier...
    Par Life Hunter dans le forum Langage
    Réponses: 5
    Dernier message: 11/08/2005, 13h10

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