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 :

Faire un rechargement de fichier selon son nom [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 120
    Par défaut Faire un rechargement de fichier selon son nom
    Bonjour,

    Je cherche à faire une boucle sur les fichiers d'un répertoire et ouvrir chaque fichier dont le nom du fichier ne contient pas une chaine de caractères.

    Mes fichiers se nomment
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    NomFichier1.txt
    AutreNomFichier.txt
    NomFichier_2024-2025.txt
    EncoreFichier_2022-2015.txt
    Ils sont dans le répertoire "CheminRepertoire\NomRepertoireFichiers"

    Si le nom de mes fichiers NE contient PAS la chaîne générique "20**-20**" alors, je veux ouvrir le fichier.

    Le script doit être capable de travailler en boucle sur l'ensemble des fichiers de mon répertoire.


    J'ai commencé à écrire le code suivant mais je n'ai aucune idée de comment exclure certains fichiers selon leur nom...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    Set CheminRep=C:\Users\Moi\MonRepertoire
    Set NomGenerique=*NomFichier*.txt
    
    for %%i in (%CheminRep%\%NomGenerique%) do (
      echo %%~ni
      start notepad "%CheminRep%\%NomGererique%"
    )

    Le problème, c'est que le script ouvre TOUS les fichiers dont le nom contient *NomFichier*.txt
    Alors que je ne veux pas qu'il ouvre les fichiers dont le nom contient "20**-20**".

    Pourriez-vous me guider pour écrire cela ?

    Merci beaucoup
    Marieo

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 307
    Par défaut
    Bonjour,
    Pour te guider tu peux regarder les expressions régulières, ca devrait t'aider.

    Quand tu parles d'ouvrir un fichier c'est pour quoi faire ?
    Le modifier ? L'ouvrir en mode graphique ?

  3. #3
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 120
    Par défaut
    Bonjour Gabi,

    Je vais creuser du côté des expressions régulières. Mais ensuite, une fois celle-ci écrite, comment je l'insère dans mon code ?

    En fait, le but du batch est un peu plus compliqué que d'ouvrir le fichier avec notepad; j'ai utilisé cet exemple pour simplifier le script.

    Toutefois, nativement, ce sont des fichiers QlikView que je dois recharger, mais pas tous (ceux nommés avec "20**-20**) ne doivent pas l'être car ils sont figés dans le temps.
    Ma boucle doit donc lancer le rechargement automatique des fichiers avec appel de l'exécutable qv.exe et en paramètre le nom du fichier à recharger.

  4. #4
    Membre chevronné
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2022
    Messages
    307
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 21
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2022
    Messages : 307
    Par défaut
    Logiquement quelque chose comme ça :
    Code bat : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    @echo off
     
    REM Définir le chemin du répertoire
    set "CheminRep=./"
     
    REM Boucle sur tous les fichiers du répertoire
    for %%i in ("%CheminRep%\*") do (
        REM Vérifier si le nom du fichier contient "20**-20**"
        echo %%~ni | findstr /R /C:"20[0-9][0-9]-20[0-9][0-9]" >nul
        if errorlevel 1 (
            REM Si le nom du fichier ne contient pas "20**-20**", afficher le nom du fichier
            echo %%~nxi
        )
    )

  5. #5
    Membre confirmé
    Inscrit en
    Mai 2006
    Messages
    120
    Détails du profil
    Informations forums :
    Inscription : Mai 2006
    Messages : 120
    Par défaut
    Ca marche parfaitement.

    Merci beaucoup!

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

Discussions similaires

  1. selection d'une liste selon son nom
    Par pedro99 dans le forum Général Python
    Réponses: 6
    Dernier message: 29/06/2007, 13h47
  2. Selectionner un champs selon son nom.
    Par Invité dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/05/2007, 14h22
  3. Upload 1 fichier,seulement son nom et pas toute l'adresse
    Par nebil dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 12/04/2006, 15h05
  4. Ouverture d'un fichier avec son nom
    Par bonjour69 dans le forum C
    Réponses: 23
    Dernier message: 15/10/2005, 19h36
  5. [débutant] [XPATH]selection d un node selon son nom & nom d un
    Par Triangle dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 14/06/2005, 16h47

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