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

VB 6 et antérieur Discussion :

Recherche dans fichiers


Sujet :

VB 6 et antérieur

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut Recherche dans fichiers
    Bonjour,

    J'ai posté ici, ne sachant pas très bien où aller, j'espère être au bon endroit, sinon, toutes mes excuses.

    Dans XP pro il est possible de rechercher une chaine de caractères à l'intérieur d'un fichier. c'est très bien, mais mon problème c'est que j'ai plus de 6500 fichiers à vérifier de cette façon. Cela risque d'être très long.

    Je dois rechercher dans ces 6500 fichiers si le nom de chaque fichier est bien contenu dans le fichier portant le même nom.

    Serait-il possible de faire un 'petit' script me donnant cette possiboilité ?

    MERCI d'avance pour votre aide.

  2. #2
    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

    Essayez avec ce petit moteur de recherche en Vbscript trouvé dans le net
    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
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    dim tabl()
    dim tablold()
    redim tabl(1)
    tabl(0)="jetpack"
    num=1
    nbtot=0
    nboct=0
    nbssrep=0
    On Error Resume next
    Set fs = CreateObject("Scripting.FileSystemObject")
    'choix du répertoire
    nomrep=inputbox("nom du répertoire",,"c:\Drivers")
    'choix du mot recherché
    mot_cherch=inputbox("mot recherché ?",,"Windows")
     
    'traiter le cas où nomrep est un disque ou un nom non valide
    if not fs.folderexists(nomrep) or ucase(fs.getdrivename(nomrep))=ucase(replace(nomrep,"\","")) then
    MsgBox "nom de répertoire non valide"
    wscript.quit
    end if
    tabl(1)=nomrep
     
    'créer le fichier texte et l'ouvrir en appending
    fichresult="C:\liste_fichiers.html" 
    Set nouv_fich = fs.OpenTextFile(fichresult, 2, true)
    nouv_fich.close
    Set nouv_fich = fs.OpenTextFile(fichresult, 8, false) 
    nouv_fich.writeline("<HTML><BODY>")
     
    'boucler sur les niveaux jusqu'à ce qu'il n'y ait 
    'plus de sous répertoires dans le niveau
    do while num>0 '------------------------------------
     
    'recopie tabl
    redim tablold(ubound(tabl))
    for n=0 to ubound(tabl)
    tablold(n)=tabl(n)
    next
     
    'réinitialiser tabl
    redim tabl(0)
    tabl(0)="zaza"
     
    'explorer le ss répertoire
    for n=1 to ubound(tablold)
    expl(tablold(n)) 'ajoute ds le tableau tabl les ss rep de tablold(n)
    next
    loop '----------------------------------------------
     
    nouv_fich.writeline("</BODY></HTML>")
    nouv_fich.close
    set nouv_fich=nothing
    nboct2= int(fs.getfolder(nomrep).size/1024)
    set fs=nothing 
     
    'afficher le résultat
    'Msgbox nbtot & " fichiers pour " & int(nboct/1024) & " ko dans """ & nomrep & """ et ses " & nbssrep & " sous-répertoires (total " & nboct2 & " ko)",,nomrep
     
    Set sh = WScript.CreateObject("WScript.Shell") 
    sh.run "explorer " & fichresult
    set sh=nothing
     
    '*************************************************************************
    '*************************************************************************
    '*************************************************************************
     
    sub expl(nomfich) 
    'ajoute dans le tableau tabl() tous les sous répertoires de nomfich
    'et ajoute dans le fichier nouv_fich les noms des fichiers et leurs caractéristiques
     
    Set rep=fs.getFolder(nomfich)
    num=ubound(tabl)
     
    'parcourir les sous répertoires de nomfich
    for each ssrep in rep.subfolders 
    num=num+1 
    redim preserve tabl(num)
    tabl(num)= ssrep.path
    nbssrep=nbssrep+1
    next 
     
    'parcourir les fichiers de nomfich
    for each fich in rep.files 
    nbtot=nbtot+1
    nboct=nboct+fich.size
    'chercher dans le fichier
    'nouv_fich.writeline fich.path & " (" & int(fich.size/1024) & " ko, créé " & fich.DateCreated & ", acc " & fich.DateLastAccessed & ")"
    if instr(lcase(fich.name),".txt")+instr(lcase(fich.name),".htm")+instr(lcase(fich.name),".asp")+instr(lcase(fich.name),".php")>0 then
    Set fich_sce = fs.OpenTextFile(fich.path, 1, false)
    txtlu=fich_sce.readall
    fich_sce.close
    txtlu=tt(txtlu)
    pos=instr(lcase(txtlu),lcase(mot_cherch))
    if pos>0 then 
    nouv_fich.writeline ("<BR><BR><A HREF='file:///" & fich.path & "' target='_blank'>" & fich.name & "</A>")
    do while pos>0
    nbav=50
    if pos-1<nbav then nbav=pos-1
    nbapr=50
    if len(txtlu)-pos-len(mot_cherch)+1<nbapr then nbapr=len(txtlu)-pos-len(mot_cherch)+1
    txx= tt(mid(txtlu,pos-nbav,nbav)) & "<FONT COLOR='red'><B>" & tt(mid(txtlu,pos,len(mot_cherch))) & "</B></FONT>" & mid(txtlu,pos+len(mot_cherch),nbapr)
    if nbav=50 then txx="..." & txx
    if nbapr=50 then txx=txx & "..."
    txx="<BR>&nbsp;&nbsp;&nbsp;" & txx
    nouv_fich.writeline txx
    txtlu=right(txtlu,len(txtlu)-pos+1-len(mot_cherch))
    pos=instr(lcase(txtlu),lcase(mot_cherch))
    loop
    end if
    end if
    next 
     
    set rep=nothing 
    end sub
     
    function tt(txte)
    tt=txte
    tt=replace(tt,"<","&lt;")
    tt=replace(tt,">","&gt;")
    end function

  3. #3
    Membre averti
    Homme Profil pro
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut
    MERCI, je vais tester ...

    Je n'y connais pas grand chose en VBscript mais je ne pense pas que cela aille.
    Ou alors il faudrait une petite modif que je ne sais pas faire.

    Pour chaque fichier, il faut que je test si le nom est dans le fichier.

    Et j'ai l'impression qu'ici je vais tester UNE seule et même chaîne de caractères sur l'ensemble de mes fichiers.
    Ou alors je n'ai pas bien compris, ce qui est bien possible.
    Dans ce cas désolé.

    Bonne journée à vous.

  4. #4
    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

    Est-ce que les fichiers se trouvent dans le même dossier ?
    voila je vous poste le lien du vbscript, alors vous pouvez le télécharger et exécuter-le et si vous voulez une modification dans ce script dis-moi

  5. #5
    Membre averti
    Homme Profil pro
    retraité Informatique
    Inscrit en
    Novembre 2004
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : retraité Informatique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 46
    Par défaut
    Bonjour et merci beaucoup,

    je fais le test ce matin.

  6. #6
    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
    Citation Envoyé par jlppap Voir le message
    Bonjour et merci beaucoup,
    je fais le test ce matin.

    Et ça donne quoi comme test

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

Discussions similaires

  1. Recherche dans fichier xml
    Par sandytarit dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 19/03/2007, 10h28
  2. Recherche dans fichier
    Par Débéa dans le forum Général Python
    Réponses: 2
    Dernier message: 26/07/2006, 14h51
  3. recherche dans fichier xml
    Par piro dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 24/03/2006, 08h11
  4. Réponses: 4
    Dernier message: 28/10/2005, 09h59
  5. Recherche dans fichiers
    Par Tchinkatchuk dans le forum Linux
    Réponses: 2
    Dernier message: 17/06/2005, 10h32

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