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 :

controler la présence d'un fichier par son extension et sortir en code 1


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 97
    Par défaut controler la présence d'un fichier par son extension et sortir en code 1
    Bonjour,

    J'aimerai savoir comment faire pour créer un script qui vérifier des fichiers se trouvant dans C:\Users\toto avec comme extension .test et .exp et si les fichiers sont présent alors sortir avec un code erreur 1

    Merci de vos retours

  2. #2
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 261
    Par défaut
    Je vous donne un premier indice :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Get-ChildItem -Path 'M:\monrep\t1' -recurse -filter *.txt | Group-Object -Property Directory
    Cette commande affiche le nombre de fichiers .txt dans mon répertoire (prend aussi les sous-répertoire)
    Vous le faites en doubles pour vos deux types de fichiers.

    Vous mettez le résultat dans une variable qui lui est propre

    Un petit IF sur les deux variables et là, un petit Exit(1)

    Je vous laisse faire le code, si il ne va pas, postez le (En renomant votre répertoire) et nous verrons.

    Bisous

  3. #3
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 97
    Par défaut
    J'ai essayé avec le code ci-dessous mais ca ne marche pas, je veux juste que le batch pante si il trouve des fichiers avec certaines extensions

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if exist "C:\Users\toto\*.exp* (
    	set CR=1
    	goto fin)

  4. #4
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 261
    Par défaut
    Avez-vous essayer cela ?

    Si je comprend bien, vous n'avez pas besoin d'avoir un fichier de chaque extension pour quitter le script avec le code à 1.
    C'est ce que fais ce code, a vous de jouer pour mettre les extensions qui vont bien

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Get-ChildItem -Path 'M:\MonRep\t' -Include *.txt , *.prc -Recurse -Force  | ForEach-Object {
        exit(1)
    }

  5. #5
    Membre actif
    Homme Profil pro
    Inscrit en
    Janvier 2009
    Messages
    97
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Janvier 2009
    Messages : 97
    Par défaut
    En fait j'ai juste besoin de checker dans le répertoire C:\Users\toto si j'ai des fichiers avec comme extension .test ou .exp pas forcement les deux, et si c'est le cas je dois avoir un code retour 1


    merci pour ta ligne de commande mais je ne dois pas preciser if exist en debut de batch ?

  6. #6
    Membre très actif
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Août 2014
    Messages
    261
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2014
    Messages : 261
    Par défaut
    Non

    En fait, ce que fait mon code c'est parcourir, pour ton répertoire (Et sous répertoire si tu en as) la liste des fichiers qui ont une extensions parmis la liste derrière la clause -Include
    Si tu rentres dans le foreach, alors tu as au moins un fichier avec l'extension souhaité, donc tu peux dire à ton script de faire l'exit

    Si tu as des sous répertoires dans ton dossier, et que tu ne veux pas les lire, il faut enlever la clause -recurse

    J'espére avoir été assez clair, n'hésites pas si besoin

  7. #7
    Membre actif
    Homme Profil pro
    007
    Inscrit en
    Octobre 2014
    Messages
    119
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : 007

    Informations forums :
    Inscription : Octobre 2014
    Messages : 119
    Par défaut
    Citation Envoyé par bomonde Voir le message
    Bonjour,

    J'aimerai savoir comment faire pour créer un script qui vérifier des fichiers se trouvant dans C:\Users\toto avec comme extension .test et .exp et si les fichiers sont présent alors sortir avec un code erreur 1

    Merci de vos retours
    exemple :
    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dir /b /a-d "chemin_dossier\*.ext" "chemin_dossier\*.abc"
    if not errorlevel 1 (verify error 2>nul) else (
    verify >nul)
    echo %errorlevel%

  8. #8
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Fichier uniquement dans dossier C:\Users\toto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir /a-d "C:\Users\toto\*.test" "C:\Users\toto\*.exp" 1>nul 2>&1 &&exit 1

    Fichier dans dans dossier ou sous-dossier C:\Users\toto
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dir /a-d /s "C:\Users\toto\*.test" "C:\Users\toto\*.exp" 1>nul 2>&1 &&exit 1

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

Discussions similaires

  1. tester présence objet avant accès par son nom
    Par jfchappuis dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/08/2011, 07h53
  2. Difficulté à ouvrir un fichier par son chemin
    Par sebac dans le forum Langage
    Réponses: 3
    Dernier message: 14/04/2010, 16h51
  3. Inclure un fichier par son chemin absolu
    Par anisj1m dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 03/07/2009, 14h23
  4. inclure un fichier par son chemin absolu
    Par anisj1m dans le forum JSF
    Réponses: 3
    Dernier message: 02/07/2009, 10h40
  5. ouvrir un fichier par son url
    Par nelob dans le forum Développement Web en Java
    Réponses: 1
    Dernier message: 31/05/2009, 20h03

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