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

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    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
    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
    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

  3. #3
    Membre averti
    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
    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 confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    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
    Membre averti
    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
    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
    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

+ 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