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 :

Script pour analyser l'intérieur des fichiers et remonter le chemin du dit fichier si valeur trouvée


Sujet :

Scripts/Batch

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut Script pour analyser l'intérieur des fichiers et remonter le chemin du dit fichier si valeur trouvée
    Bonjour, n'ayant malheureusement pas une connexion performante (~56k) je ne peux arpenter efficacement le forum et m'excuse par avance si le sujet a déjà été traité.

    Je vous explique mon problème:

    Je cherche à créer un script en 2 temps

    1 temps:
    - Analyser l'intégralité d'un serveur DATA (~1TO de données) en retournant tous les fichiers portant une chaîne de caractères spécifiques (ex: toto).

    2 temps:
    - Analyser plus spécifiquement l'ensemble des documents (.docx . xls... etc au choix) et retourner dans un .txt les liens des fichiers ou le mot "toto" est trouvé.

    J'arrive bien à faire le premier temps mais je coince sur le second. Je me doute que c'est absolument pas propre mais n'ayant pas énormément de connaissances en batch je galère vu que je ne peux me fier qu'aux commandes /? du dos...

    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    @echo Récupération de l'arborescence
    @echo off
    (
    	dir c:\ /s /b > c:\script\tmp.txt
    )
    echo Arborescence listée
    pause
    
    @echo Recherche de "toto" sur les fichiers
    @echo off
    (
    	find /i "toto" c:\script\tmp.txt > c:\script\totofichier.txt
    )
    @echo Suppression du temporaire
    (
     	del c:\script\tmp.txt
    )
    REM le premier temps est réalisée / sélection maintenant plus spécifique pour les .docx 
    (
    	dir c:\*.docx /s/b  > c:\script\listefichier.txt
    )
    echo Recherche effectuee
    pause
    
    @Echo Demarrage de la recherche interne
    pause
    (
    	findstr /i /g:c:\script\critere.txt /f:c:\script\listefichier.txt > c:\script\toto.txt
    )
    Et là ça mouline et ça n'apporte rien... Je ne comprends pas comment utiliser la commande findstr (je lui renseigne bien dans un fichier à part la valeur à chercher qui est "toto"

    Je suis preneur de toutes les infos que vous pourrez m'apporter , sachant que j'ai accès à internet que ponctuellement dans la journée je passerai jeter un oeil dès que je pourrai.

    Merci par avance.

  2. #2
    Expert éminent
    Avatar de hackoofr
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2009
    Messages
    3 839
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Juin 2009
    Messages : 3 839
    Points : 9 222
    Points
    9 222
    Par défaut

    En utilisant la commande Where.exe (sur Windows 7)



    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
    15
    16
    17
    @echo off
    cls & color 0A
    echo(
    Set /p "Location=Enter the folder location where do you want to serach> "
    cls & echo(
    echo You chose this location "%Location%"
    echo(
    Set FileName=toto*.*
    Mode con cols=90 lines=15
    Set Tmp=Tmp.txt
    Set SearchResult=SearchResult.txt
    echo( & cls
    echo(  & echo  Please Wait for moment .... Searching for "%FileName%" on "%Location%"
    where /r "%Location%" "%FileName%" > %Tmp%
    Cmd /U /C Type %Tmp% > %SearchResult%
    Del %Tmp%
    Start %SearchResult%

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux

    Informations forums :
    Inscription : Juillet 2015
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Merci pour la rapidité de la réponse ,

    Alors ça fonctionne niquel pour le T1 (je récupère bien tous les noms de fichiers) (En plus merci pour les variables maintenant que je sais comment les utiliser je vais ronger ça tranquillement)

    Par contre pour le T2 (Analyser l'intérieur d'une liste de fichiers) existe t'il une commande spécifique ? (j'avais vu que findstr pour réaliser tout ça)

    Le but étant qu'une fois cette liste récupérée le script analyse l'intérieur des fichiers sauvegardés à la recherche de mots spécifiques. Je vais potasser de mon coté mais je suis preneur de tous conseils encore une fois.

    Bonne journée !

Discussions similaires

  1. Script pour changer le nom des fichiers
    Par MR-SMOOT dans le forum Shell et commandes GNU
    Réponses: 13
    Dernier message: 30/08/2014, 16h26
  2. Réponses: 0
    Dernier message: 04/06/2014, 09h36
  3. un script pour Lister, Modifier, remplacer des noms de fichiers pour un upload?
    Par shadock0 dans le forum Shell et commandes POSIX
    Réponses: 2
    Dernier message: 27/09/2011, 21h47
  4. Réponses: 11
    Dernier message: 25/02/2010, 16h33
  5. Réponses: 2
    Dernier message: 16/08/2006, 14h47

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