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 :

Pb taille sur des fichiers


Sujet :

Scripts/Batch

  1. #1
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut Pb taille sur des fichiers
    bonjour a tous,

    Voici mon probleme , je recois des fichiers dans un repertoire et je voudrais pouvoir faire un batch qui me permet calculer leur taille dans un premier temps

    cmd => for /r "D:\Perso\test_taille" %%i in (*.txt) do if %%~zi==0 mais cela ne me donne que les fichiers =à 0

    et dans un deuxieme temps lui indique de zipper si
    tous les fichiers contenu dans mon repertoire sont superieur a 3ko

    Merci pour votre aide

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r "D:\Perso\test_taille" %%i in (*.txt) do if %%~zi gtr 3 ta commande qui zip

  3. #3
    Membre Expert Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Par défaut
    Tu entends quoi par calculer la taille ? Sommer la taille de tout tes fichiers ?

    Si c'est juste connaitre leur taille, tu as deja la solution : %%~zi.
    Si c'est sommer il suffit de mettre le tout dans une variable et ajouter au fur et à mesure (je te renvoie à set /? pour plus d'infos, n'oublie pas d'utiliser les expansions retardées de variables si tu fais la somme dans le corps du for (voir for/? ou plein de topics sur ce forum pour plus de détails)).

    Quand tu dis "tous les fichiers contenu dans mon repertoire sont superieur a 3ko" c'est la somme ou chacun des fichiers qui doit être > à 3ko ?
    La phrase sous entend tous les fichiers, mais ça ne me parait pas super logique.

    Bref dans le premier cas (la somme) tu as juste à faire un if sur ta variable une fois sorti de la boucle.
    Dans le second cas, teste la taille dans ton for, et des que tu en trouves un plus petit que 3ko, utilise un goto pour sortir du for et passer la commande de zip:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    for .... do (
      ....
      goto :pas_zip
    )
    
    :zip
    ...
    
    :pas_zip
    ...

  4. #4
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut
    la commande
    for /r "D:\Perso\test_taille" %%i in (*.txt) do if %%~zi gtr 3 echo "%%i"
    fonctionne a merveille
    mais je n'arrive pas a exprimer la commande si tu as 1 fichier de -3ko tu ne zippe pas le reste des fichiers contenu dans le repertoire.

  5. #5
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    Donc si un répertoire contien tous les fichers de plus de 3 ko on sip c'est ca ?

    mais s'il contien un seul fichier de plus de 3 on zip pas ?

  6. #6
    Nouveau membre du Club
    Inscrit en
    Novembre 2007
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Novembre 2007
    Messages : 5
    Par défaut
    Merci pour ton aide

    SI le répertoire contient des fichers de plus de 3 ko on ZIP sinon on ne ZIP pas

  7. #7
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    j'ai commencer ceci mais ca ne marche pas:
    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
    @echo off & color 0A
    
    
    
    set vrRepSource=C:\Documents and Settings\Kookatix\Bureau\Nouveau dossier (3)
    
    ::dir /a:d /b /s "%vrRepSource%"
    
    setlocal enableDelayedExpansion 
    
     for /f "tokens=*" %%i in ('dir /a:d /b "%vrRepSource%"') do ( 
              set vrTmp=%%i
              for /r "!vrTmp!" %%j in (*.txt) do if "%%~zj" gtr "3" echo !vrTmp!
        )
    
    endlocal 
    
    
    
    pause>nul
    quelqu'un voi l'erreur ?

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

Discussions similaires

  1. Apple augmente la taille maximale des fichiers binaires d'iOS sur l'App Store
    Par Stéphane le calme dans le forum Développement iOS
    Réponses: 2
    Dernier message: 15/02/2015, 10h09
  2. [10.2.0.4 sur W2K3 32 bits] taille maximale des fichiers
    Par fred_04510 dans le forum Administration
    Réponses: 4
    Dernier message: 24/01/2011, 16h59
  3. Réponses: 8
    Dernier message: 10/10/2008, 20h46
  4. Réponses: 5
    Dernier message: 05/06/2004, 13h12
  5. Extraction de données sur des fichiers excel
    Par iupgeii dans le forum MFC
    Réponses: 3
    Dernier message: 23/01/2004, 13h53

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