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 :

Tester si un répertoire et vide ou contien des fichiers ou d


Sujet :

Windows

  1. #1
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut Tester si un répertoire et vide ou contien des fichiers ou d
    Bonjour, j'ai un probléme similaire alor au lieux de créer un nouveau poste je vais continuer celuici, j'ai trouver quelque chose d'intérrésant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for /f "delims=" %%a in ('dir "%varrep%" /b') do ( 
       if %%a neq "" echo r‚pertoire NON vide !!&pause & goto :eof 
       ) 
    echo ==^> Aucun fichier télécharger  & pause
    Se script vérifi s'il y a des fichiers dans le répertoire défini par la variable %varrep% puis affiche "r‚pertoire NON vide" s'il y en a ou "Aucun fichier télécharger" s'il n'y en a pas, mais j'aimerai optimiser se code pour que le dernière ligne echo soit un dans la boucle for, un peut comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    For /f "delims=" %%a in ('dir "%varrep%" /b') do ( 
       If %%a neq "" echo r‚pertoire NON vide & Explorer.exe %varrep% & pause>nul & goto :eof 
       If not %%a neq "" echo ==^> Aucun fichier t‚l‚charger  & pause>nul & goto :eof 
       )
    Si y a des pro qui meuvent aranger sa ici ?

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2004
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Octobre 2004
    Messages : 18
    Points : 14
    Points
    14
    Par défaut
    Est-ce que tu peux clarifier un peu ce que tu veux en posant une question précise pour qu on peut te repondre.

  3. #3
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Bonjour princetn , je vais essayer.

    Le premier code que j'ai donné dans mon message précédant regarde s’il y a des fichiers dans le répertoire ciblé par la variable %varrep% et effectue les opération inscrite entre les parenthèses derrière do si le répertoire contiens des fichiers, mais je ne sais pas comment faire pour qu’il affiche un texte si le répertoire est vide, je pense qu’il faudrait ajouter un else mais je ne sais pas ou, sauriez vous m’aiguiller ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for /f "delims=" %%a in ('dir "%varrep%" /b') do ( 
       if %%a neq "" echo r‚pertoire NON vide !!&pause & goto :eof 
       )

  4. #4
    Expert éminent
    Avatar de Michaël
    Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2003
    Messages
    3 497
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2003
    Messages : 3 497
    Points : 8 237
    Points
    8 237
    Par défaut
    juste pour ma culture perso, c'est quoi comme langage ? batch ?

  5. #5
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Bonjour Le_coyote

    S'est du ms-dos.

  6. #6
    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,
    utilise la séquence && dans ton test, cela permet d'effectuer un branchement si le test renvoi faux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if %a neq " " traitementOK && traitementNOK

  7. #7
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Bonjour Laurent Dardenne , pouriez vous me donné un peut plus de détail je nage completement la ?

  8. #8
    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
    Tout compte fait ceci me semble plus approprié et plus simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
    Set Repertoire=C:\temp
    set /A COUNT=0
    
    For /F %%A in ('DIR /b "%Repertoire%"') do Set /A Count+=1
    
    If /I %Count% GTR 0 Echo %Count% fichiers telecharger.&Goto Break
    Echo Aucun fichier telecharger.
    
    :Break
    pause & goto :eof

  9. #9
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Merci beaucoup pour cette exemple , mais j'avais dejà pensser au goto se n'est pas se qu'il me faut, il faut absolument que je fase tout dans la boucle for.
    Il doit surement y avoir un moyen de rajouter un else

  10. #10
    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
    Citation Envoyé par Edoxituz
    il faut absolument que je fase tout dans la boucle for.
    Et il est du à quoi cet impératif ?

  11. #11
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Par ce que mon batch devra vérifié plusieurs répertoire à peut prés 12 ou 13 et je voudrai éviter de multiplier les goto, je préfére franchement les boucle.

  12. #12
    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
    Citation Envoyé par Edoxituz
    Par ce que mon batch devra vérifié plusieurs répertoire à peut prés 12 ou 13
    Je respecte ton choix mais si je peux me permettre ton approche est trop condensé, c'est du batch pas de l'assembleur.Et une paire de goto ne fait pas mal quand vient l'heure du debug ! Et avec les batch le réveil sonne souvent ;-)
    Bon dev

  13. #13
    Inactif
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Points : 70
    Points
    70
    Par défaut
    Merci beaucoup pour vos conseille , je trouve plus simple pour les modification de mes gros batchs d'utiliser des boucle, enfin merci quand même pour votre aide

Discussions similaires

  1. tester si un répertoire est vide
    Par guefrachi dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 15/01/2018, 19h13
  2. tester si un répertoire est vide
    Par laurentSc dans le forum Langage
    Réponses: 3
    Dernier message: 24/01/2010, 10h32
  3. [Batch] comment tester qu'un répertoire est vide ?
    Par JiCeBe dans le forum Scripts/Batch
    Réponses: 6
    Dernier message: 18/08/2009, 23h08
  4. [C#] Tester si un répertoire est vide
    Par Johann7751 dans le forum C#
    Réponses: 10
    Dernier message: 03/07/2009, 14h42
  5. Réponses: 3
    Dernier message: 05/10/2007, 09h37

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