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 :

Comparer des tailles


Sujet :

Windows

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut Comparer des tailles
    Bonjour,

    je suis débutant en programmation windows et mon probleme est le suivant :

    J'ai une série de fichiers excel créé à partir d'un template auquel on ajoute des données.
    Je fais un batch pour effacer tous les fichiers qui n'ont pas été remplis.

    Apres quelques recherches (notamment ici ^^), j'ai le code suivant :

    for %%i in (*.xlt) do if "%%~zi" geq "76000" del %%i

    où 76ko est la taille de mon template.

    Mais je me pose 2 questions :
    1/ Pourquoi ca marche comme ca ??? la je demande bien d'effacer les fichiers qui ont une taille supérieure ou égale (geq) à 76ko non ? Et pourtant ca m'efface seulement ceux qui ont une taille inférieure ou égale à 76ko (ca tombe bien c'est ce que je veux...mais j'aimerais comprendre Oo)...
    Ca se lit à l'envers le geq ? le code ne dit pas %%~zi >= 76000 mais %%~zi <= 76000 ? c'est ca ? mais ca me semble bizarre...
    2/ Je n'arrive pas à formuler le code pour mettre la taille du template en dynamique à la place du 76000 : /
    En fait je ne comprends pas cette syntaxe du %~z...

    Merci d'avance pour votre aide !

  2. #2
    Membre chevronné Avatar de pascal.barbier
    Profil pro
    Inscrit en
    Août 2007
    Messages
    362
    Détails du profil
    Informations personnelles :
    Âge : 64
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Août 2007
    Messages : 362
    Par défaut
    la bonne réponse est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%t in (template.xls) do for %%i in (*.*) do if %%~zi LEQ %%~zt
    il y a peut être plus simple mais je ne suis pas un expert

    Pour comprendre :
    %%~zi est la taille du fichier dont le nom est dans la variable %%i (voir syntaxe de l'interpréteur de commandes, en particulier les pages concernant les commandes if et for)

    pour comparer les tailles correctement, il ne faut PAS mettre de guillemets sinon la comparaison se fait sur le critère d'ordre alphabétique :
    "25" est plus grand de "1000" mais 25 est plus petit que 1000

    Hope it helps

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    Citation Envoyé par pascal.barbier Voir le message
    la bonne réponse est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for %%t in (template.xls) do for %%i in (*.*) do if %%~zi LEQ %%~zt
    Pour comprendre :
    %%~zi est la taille du fichier dont le nom est dans la variable %%i (voir syntaxe de l'interpréteur de commandes, en particulier les pages concernant les commandes if et for)
    Merci ! je vais essayer comme ca, j'avais écrit un truc dans le genre mais ca ne donnait rien ! je vais comparer.
    Citation Envoyé par pascal.barbier Voir le message
    pour comparer les tailles correctement, il ne faut PAS mettre de guillemets sinon la comparaison se fait sur le critère d'ordre alphabétique :
    "25" est plus grand de "1000" mais 25 est plus petit que 1000
    aaaah voila qui explique tout ! du coup mon 76ko était "plus grand" que 346ko par exemple ! et comme aucun de mes fichiers ne dépasse les 760ko, j'aurais eu du mal à m'en rendre compte :p
    Citation Envoyé par pascal.barbier Voir le message
    Hope it helps
    Yeah it did ! thx !

Discussions similaires

  1. comparer des champs date time
    Par HULK dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 25/01/2005, 14h02
  2. [Date] Comparer des dates au format mySQL "date
    Par Marc_P dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 25/10/2004, 15h15
  3. comparer des sons
    Par heidi79 dans le forum DirectX
    Réponses: 2
    Dernier message: 12/08/2003, 01h18
  4. [LG][FAQ]comparer des fichiers
    Par lucke dans le forum Langage
    Réponses: 11
    Dernier message: 01/06/2003, 18h02
  5. Comparer des fichiers de données : Quel Langage ?
    Par Anonymous dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 24/04/2002, 22h37

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