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 :

Recherche d'une chaine de caractères dans un fichier texte


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Par défaut Recherche d'une chaine de caractères dans un fichier texte
    Bonjour à toutes et tous

    Voici mon problème dans mon entreprise sur un serveur je précise il y a une suite de répertoires dans ces répertoires il y a des fichiers texte

    je souhaite rechercher une chaine de caractères dans ces fichiers et si un fichier correspond ouvrir le répertoire en question

    le fichier est de ce type

    IDdeb=39349302.pdf*nom=als1245*libr=*IDfin*************************************************IDdeb=39349304.pdf*nom=DS5241254*debutvalid=150604*finvalid=200503*libr=*IDfin*************************************************IDdeb=39349307.pdf*info_prive=*info_libre=*IDfin*************************************************IDdeb=39349313.pdf*nom=1254ghj*IDfin*************************************************

    ce qui m’intéresse c'est la variable nom= et donc le nom derrière

    si quelqu'un peu m'aider ce serai très gentil l

    la recherche sous forme Windows explorateur prend énormément de temps

    sous dos c'est très rapide d'ou mon choix du batch

    en vous remerciant par avance

  2. #2
    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
    Nous pouvons considérer que le caractère * est le séparateur je pense.
    C'est le contenu de l'un des fichiers ? ils ont tous le même format ?
    On peut utiliser powershell ? Ca sera beaucoup plus simple et fiable.

    Sinon j'y pense, moi j'utilise searchmyfile qui est très bien pour les recherches.
    http://www.nirsoft.net/utils/search_my_files.html

  3. #3
    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
    Quoique, ça se fait relativement simplement.

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    @echo off
     
    set motif=C:\Rico DVD\*.txt
    set cherche=DS5241254
     
    for /f "tokens=*" %%a in ('dir /A/B/S "%motif%"') do findstr /i "*nom=%cherche%*" "%%a" >nul 2>nul&&(
    echo Fichier trouve "%%a" ^(dans"%%~dpa"^)
    explorer.exe /e,/select,"%%a"
    pause>NUL
    exit
    )

  4. #4
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Nous pouvons considérer que le caractère * est le séparateur je pense.
    C'est le contenu de l'un des fichiers ? ils ont tous le même format ?
    On peut utiliser powershell ? Ca sera beaucoup plus simple et fiable.

    Sinon j'y pense, moi j'utilise searchmyfile qui est très bien pour les recherches.
    http://www.nirsoft.net/utils/search_my_files.html
    powershell possible pour moi a savoir c'est un chemin réseau

    le fichier est de cette forme la plus ou moins long

    IDdeb=39349302.pdf*
    nom=als1245*
    libr=*
    IDfin*************************************************
    IDdeb=39349304.pdf*
    nom=DS5241254*
    debutvalid=150604*
    finvalid=200503*
    libr=*
    IDfin*************************************************
    IDdeb=39349307.pdf*
    info_prive=*
    info_libre=*
    IDfin*************************************************
    IDdeb=39349313.pdf*
    nom=1254ghj*
    IDfin*************************************************

    en esperant avoir repondu aux questions

    en encore merci pour l'aide apportée

  5. #5
    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
    powershell possible pour moi a savoir c'est un chemin réseau
    Je ne comprend pas la phrase mais restons sur batch alors.

    En bleu ce que tu cherche ?
    nom=DS5241254*

  6. #6
    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
    Voici j'ai légèrement modifié le batch

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    @echo off
     
    REM dossier ne doit pas se terminé par un \
    set dossier=C:
    set cherche=DS5241254
     
    for /f "tokens=*" %%a in ('dir /A/B/S "%dossier%\*.txt" 2^>nul') do findstr /i /B "nom=%cherche%*" "%%a" >nul 2>nul&&(
    echo Fichier trouve "%%a" ^(dans "%%~dpa"^)
    explorer.exe /e,/select,"%%a"
    pause>NUL
    exit
    )

  7. #7
    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
    A noter que ça peut être long selon le nombre de fichier texte, leurs tailles, la vitesse du lecture du volume ..

  8. #8
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    powershell possible pour moi a savoir c'est un chemin réseau
    Je ne comprend pas la phrase mais restons sur batch alors.

    En bleu ce que tu cherche ?
    nom=DS5241254*

    le chemin reseau est du type
    \\10.157.12.250\archivage\
    avec plein de répertoires dedans qui contiennes les fichiers textes
    oui en bleu ce que je recherche

  9. #9
    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
    Tu mettra donc

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    set dossier=\\10.157.12.250\archivage

  10. #10
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Par défaut
    Citation Envoyé par infomac Voir le message
    le chemin reseau est du type
    \\10.157.12.250\archivage\
    avec plein de répertoires dedans qui contiennes les fichiers textes
    oui en bleu ce que je recherche
    quand je fais

    cmd
    puis

    " j'ai cree avant un répertoire réseau z: correspondant à \\10.157.12.250\archivage\"

    z:
    findstr /i /s DS5241254 *.txt
    la réponse est de type :

    0554566321\012348576445_000000123.txt : nom=DS5241254*

    0554566321 étant le répertoire du fichier
    012348576445_000000123.txt étant le fichier contenant l'expression recherché

    l’idée est de pourvoir ouvrir le répertoire 0554566321 qui contient le fichier par exemple

    mais la recherche devrais ce faire du poste de travail et si possible sans monter un lecteur réseau
    pour que mes collègues qui n'y connaissent rien en informatique ne tapent les lignes de commandes

    et encore merci merci pour l'aide précieuse

  11. #11
    Expert confirmé
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 844
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 844
    Par défaut

    Vous pouvez par exemple jeter un coup d’œil ici ===> [VBS] Moteur de recherche en Vbscript

  12. #12
    Membre du Club
    Homme Profil pro
    Consultant informatique
    Inscrit en
    Janvier 2016
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Janvier 2016
    Messages : 9
    Par défaut
    Citation Envoyé par hackoofr Voir le message

    Vous pouvez par exemple jeter un coup d’œil ici ===> [VBS] Moteur de recherche en Vbscript
    merci pour la reponse j'ai testé mais il met trop de temps a chercher pour un retour negatif

    merci encore

Discussions similaires

  1. Réponses: 9
    Dernier message: 04/12/2014, 17h26
  2. Rechercher/remplacer une chaine de caractères dans plusieurs fichiers
    Par _shuriken_ dans le forum Shell et commandes GNU
    Réponses: 5
    Dernier message: 31/07/2011, 20h06
  3. Remplacer une chaine de caractère dans un fichier texte.
    Par Empty_body dans le forum VBA Access
    Réponses: 1
    Dernier message: 19/01/2008, 11h16
  4. Réponses: 3
    Dernier message: 25/07/2006, 08h40
  5. [VB]Recherche d'une chaine de caractère dans un fichier
    Par Empty_body dans le forum VB 6 et antérieur
    Réponses: 26
    Dernier message: 16/02/2006, 09h10

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