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

Scripts/Batch Discussion :

Extraire la taille d'un fichier [Batch]


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 28
    Points
    28
    Par défaut Extraire la taille d'un fichier
    Bonjour,

    Je souhaite lister les fichiers pst se trouvant sur mon réseau et récupérer cette liste dans un fichier texte.

    Pour simplifier le résultat obtenu j'utilise la commande "dir /B" qui me donne sous forme d'une liste les fichiers avec leur emplacement.

    Mais j'ai aussi besoin de la taille de ces fichiers et je ne trouve pas de solution. Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f %%i in (postes.ini) do ( 
    dir \\%%i\c$\*.pst /B /S>resultat.txt
    ) 
    PAUSE
    Je n'arrive pas à inserer une variable aprés l'emplacement du fichier pour avoir un résultat de ce type :
    \\POSTE1\c$\Documents and Settings\Utilisateur1\Mes documents\Outlook.pst 120000000 octets
    \\POSTE2\c$\Documents and Settings\Utilisateur2\Mes documents\Outlook.pst 1000 octets

    Merci pour votre aide

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Il te faut une 2éme boucle :

    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    (for /f %%i in (postes.ini) do ( 
      echo POSTE : %%i
      for /f "delims=" %%a in ('dir \\%%i\c$\*.pst /B /S') do echo      -^> [Fichier] : %%a - [Taille] : %%~za
    )
    )>Resultat.txt
     
    Echo Fini !!
    PAUSE
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Merci pour cette réponse.

    Le résultat obtenu est le suivant :

    C:\Users\administrateur\Desktop>(
    echo POSTE : POSTE1
    for /F "delims=" %a in ('dir \\POSTE1\c$\*.pst /B /S') do echo -> [Fichier] : %a - [Taille] : %~za
    )
    POSTE : POSTE1

    C:\Users\administrateur\Desktop>echo -> [Fichier] : \\POSTE1\c$\TEMP\test.pst - [Taille] : 10000
    -> [Fichier] : \\POSTE1\c$\TEMP\test.pst - [Taille] : 10000

    Les informations dont j'ai besoin apparaissent bien dans le fichier resultat.txt mais elles sont mélangées avec les lignes du code.

    J'essaie de corriger ce problème mais si tu as la solution, je suis preneur.

    Merci.

  4. #4
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    (for /f %%i in (postes.ini) do ( 
      ::echo POSTE : %%i
      for /f "delims=" %%a in ('dir \\%%i\c$\*.pst /B /S') do echo      -^> [Fichier] : %%a - [Taille] : %%~za
    )
    )>Resultat.txt
     
    Echo Fini !!
    PAUSE

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2008
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 37
    Points : 28
    Points
    28
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Code BAT : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    (for /f %%i in (postes.ini) do ( 
      ::echo POSTE : %%i
      for /f "delims=" %%a in ('dir \\%%i\c$\*.pst /B /S') do echo      -^> [Fichier] : %%a - [Taille] : %%~za
    )
    )>Resultat.txt
     
    Echo Fini !!
    PAUSE
    Merci, c'est parfait, le resultat est bien ce que je recherchais.

    Merci à vous deux.

  6. #6
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Effectivement j'ai fait le code sans le tester

    Merci @Hackoo pour le



    Juste un commentaire @Hackoo :

    Si tu veux commenter qqe chose dans une boucle FOR utilise REM plutôt que ::
    Le :: pose souvent des problèmes dans une boucle FOR.

    D'ailleurs je vois pas pourquoi tu-as supprimer l'affichage du POSTE qui mes semble être une info importante :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    @echo off
    (for /f %%i in (postes.ini) do ( 
      echo POSTE : %%i
      for /f "delims=" %%a in ('dir \\%%i\c$\*.pst /B /S') do echo      -^> [Fichier] : %%a - [Taille] : %%~za
    )
    )>Resultat.txt
     
    Echo Fini !!
    PAUSE
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  7. #7
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2015
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2015
    Messages : 23
    Points : 17
    Points
    17
    Par défaut
    Bonjour à tous,

    J'ai vu que ce sujet est marqué comme résolu, mais je ne peux m'empêcher de poser ma question!

    A partir des codes de hackoofr et sachadee, j'aimerais connaître la taille d'un (ou plusieurs) dossiers (comprenant chacuns plusieurs sous-dossiers)!

    Extraire la taille de [Mes Documents\Downloads + Mes Documents\Music + Mes Documents\Pictures + Mes Documents\Videos] par exemple!

    Et afficher le résultat dans la fenêtre de la console!

    Est-ce possible pensez-vous?

    Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 15/04/2004, 13h24
  2. [Debutant] Comment lire la taille d'un fichier binaire ?
    Par Invité dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 18/12/2003, 19h20
  3. fonction réduisant la taille d'un fichier
    Par Harry_polin dans le forum C
    Réponses: 22
    Dernier message: 27/11/2003, 13h56
  4. Extraire une séquence d'un fichier MPEG
    Par enzosp dans le forum DirectX
    Réponses: 2
    Dernier message: 24/02/2003, 11h30
  5. [VB6] [Réseau] Récupérer la taille d'un fichier avec inet
    Par pcpunch dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 20/02/2003, 21h38

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