Explorer mes fichier pour retrouver une suite alphanumeriqu

Fermé
Mis - 16 avril 2022 à 05:16
 Utilisateur anonyme - 22 avril 2022 à 10:31
Bonjour,
je recherche un programme pour me permettre de retrouver dans les fichiers de mon ordinateur. jai essayé avec notepad et salamander mais ca ne fonctionne pas ( jai mis une suite aleatoire similaire pour controle ) . je lance cette recherche est ce la bonne [M][a-zA-HJ-NP-Z0-9]{12,15} . merci pour votre aide



Configuration: Windows / Chrome 100.0.4896.88
A voir également:

13 réponses

Utilisateur anonyme
16 avril 2022 à 08:27
Bonjour

pas sûr d'avoir compris ton besoin, tu cherches à trouver une chaine qui match avec ta regex, c'est ça?
Si oui
  • cette chaine est elle dans le nom du fichier ou dans son contenu?
  • si c'est dans le contenu, se sont des fichiers ascii tout simple ou ils ont un format particulier (word par exemple c'est pas un ascii tout simple)?


Si non, merci d'être plus explicite.

PS salamander ? https://fr.wikipedia.org/wiki/Salamander

0
en faite je recherche une suite alphanumérique entre 12 et 15 caractères et qui commence par un M ; cette suite se trouve dans un de mes fichier ( Word, Excel, pp,.......) . je ne sait pas si le regex est le bon et je ne sais pas si j utilise le bon programme pour cette opération ?
0
Utilisateur anonyme
16 avril 2022 à 09:06
Tu peux essayer avec Powseshell, mais je ne sais pas si ça va fonctionner avec word excel et PowerPoint car les formats de ces fichiers sont « complexes », cela dit ce sont des formats Microsoft

https://techexpert.tips/fr/powershell-fr/powershell-rechercher-dans-le-contenu-des-fichiers/

0
faut il taper une commande spécifique ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Utilisateur anonyme
16 avril 2022 à 09:50
Tu as lu le lien que je t’ai mis?
0
merci visiblement y a tous dans le liens
je vous remercie et je n hésiterais pas a vous dire si ca a marché
0
Utilisateur anonyme
16 avril 2022 à 12:31
De rien
0
est ce cette commande que je dois entrer :

Select-String -Path "C:\tmp\*.txt" -Pattern "(?:\d{1,3}\.){3}\d{1,3}"
Select-String -Path "C:\tmp\*" -Pattern "(?:\d{1,3}\.){3}\d{1,3}" -ErrorAction SilentlyContinue
Get-ChildItem -Path "C:\tmp" -Recurse | Select-String -Pattern "(?:\d{1,3}\.){3}\d{1,3}"

merci pour ton aide
0
brucine Messages postés 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024 2 703
17 avril 2022 à 07:54
Bonjour,

Non: ces commandes cherchent des fichiers .txt ou pas dans le dossier C:\tmp et éventuellement ses sous-dossiers par groupes de 3 chiffres séparés par des points, grossièrement des adresses IP.

Je suppose que tu dois chercher le caractère M (majuscule) dans une chaîne de 12 à 15 caractères quelconques et dans l'ensemble de ton disque.

Je maîtrise mal la syntaxe des Regex Powershell, mais cela ressemblerait plutôt à quelque chose de ce genre:

Get-ChildItem -Path "C:\*" -Recurse | Select-String -Pattern "^[M]{12;15}"

le caractère ^ spécifiant que le suivant (M) doit se trouver au début de la chaîne de caractères recherchée.
0
Utilisateur anonyme > brucine Messages postés 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024
17 avril 2022 à 10:17
Bonjour

la regex présentée dans la quesion initiale avait l'air pas mal (au crochets autour du M près), elle excluait les i majuscule et les o majuscules (exprès ou pas ? )
Celle que tu proposes cherche 13 à 16 M et la ligne doit commencer par M. Là encore les crochets autour du M ne sont pas utiles.
Voici un exemple avec ta regex
https://regex101.com/r/Wnk7LZ/1

Voici un exemple avec n'importe quel caractère alpha numérique et la ligne peut commencer par autre chose que M
https://regex101.com/r/0wGj0K/1

Et enfin avec sa regex (pas les I et les O)
https://regex101.com/r/waZOwO/1

Le problème est de chercher les fichiers word, excel ou powerpoint qui contiennent des chaines matchant avec ce pattern.
Et ça, je ne sais pas faire facilement.
Powershell, n'est pas ma tasse de thé, mais j'avais cru comprendre que le site qu'il y avait de quoi chercher dans les fichiers.
Je n'avais pas windows sous la main hier, là je viens d'essayer
Get-ChildItem -Path "C:\Temp" -Recurse | Select-String -Pattern "M[a-zA-HJ-NP-Z0-9]{12,15}"
ça marche avec les fichier textes, mais pas word.



Ça me dit bien que le fichier OK.txt contient à la ligne 3 la chaine que je cherche, mais le fichier OK.docx qui contient la même chose n'est pas retourné.
0
Utilisateur anonyme > Utilisateur anonyme
17 avril 2022 à 10:25
J'ai trouvé ça
https://stackoverflow.com/questions/27169043/powershell-search-matching-string-in-word-document

que j'ai adapté comme ça
#ERROR REPORTING ALL
Set-StrictMode -Version latest
$path     = "c:\Temp"
$files    = Get-Childitem $path -Include *.docx,*.doc -Recurse | Where-Object { !($_.psiscontainer) }
$output   = "c:\temp\wordfiletry.csv"
$application = New-Object -comobject word.application
$application.visible = $False
$findtext = "First"
$charactersAround = 30
$results = @{}

Function getStringMatch
{
    # Loop through all *.doc files in the $path directory
    Foreach ($file In $files)
    {
        $document = $application.documents.open($file.FullName,$false,$true)
        $range = $document.content

        If($range.Text -match "M[a-zA-HJ-NP-Z0-9]{12,15}"){
             $properties = @{
                File = $file.FullName
                Match = $findtext
                TextAround = $Matches[0] 
             }
             $results += New-Object -TypeName PsCustomObject -Property $properties
        }
    }

    If($results){
        $results | Export-Csv $output -NoTypeInformation
    }

    $document.close()
    $application.quit()
}

getStringMatch

import-csv $output


Et qui m'a donné le résultat suivant
"Match","TextAround","File"
"First","M123456789012","C:\Temp\OK.docx"


Maintenant, il faut l'adapter à Excel et Powerpoint....
0
brucine Messages postés 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024 2 703 > Utilisateur anonyme
17 avril 2022 à 10:28
Dont acte, merci pour tes précisions, je l'ai dit, je suis tout sauf une lumière en Powershell.

Des solutions relativement complexes sont ramenées par une recherche Google "powershell find string in docx".

Une alternative s'il n'y a pas moyen via Powershell est d'utiliser la commande FINDSTR en Batch, mais l'exigence d'une recherche sur le nombre de caractères nous obligera à tester la longueur de la chaîne, ce qui va en rendre l'écriture encore plus lourde.
0
Utilisateur anonyme > brucine Messages postés 18281 Date d'inscription lundi 22 février 2021 Statut Membre Dernière intervention 17 décembre 2024
17 avril 2022 à 10:34
je l'ai dit, je suis tout sauf une lumière en Powershell.
comme moi :)
0
Bonjour
merci pour toutes ses infos je vais essayé tout cela et ne manquerais pas de vous faire un retour
0
j ai lancer le premier regex:

Get-ChildItem -Path "C:\Temp" -Recurse | Select-String -Pattern "M[a-zA-HJ-NP-Z0-9]{12,15}"

et je voulais savoir si on peut faire en sorte que la recherche soit borné par un espace devant et derrière parce que la il prend tout ,je m explique :
ce qu' il me donne :
23345Z3Ertyuh4QsfD45678
ce que je souhaite pour affiner parce que y en a trop :
23345 Z3Ertyuh4Qsf D45678 pour 12 caractères par exemple .

merci pour votre aide c'est super sympa en tout cas.
0
Utilisateur anonyme
19 avril 2022 à 10:55
Je ne comprends pas ton exemple (notamment ça ne commence pas par M….)
Mais si tu veux un espace quelque part, il suffit de mette un espace dans le pattern.
Par contre, s’il y a une tabulation, ça ne matchera pas. Pour matcher espace et tabulation c’est « \s ».
Par contre à nouveau, s’il y a de la ponctuation ça ne matchera non plus. Pour matcher toute borne de mot, c’est « \b »
0
oui oui c'est M au début erreur de frappe .
en faite oui je veux que la suite soit isolé devant et derrière par un espace
0
Utilisateur anonyme
19 avril 2022 à 11:57
 Get-ChildItem -Path "C:\Temp" -Recurse | Select-String -Pattern " M[a-zA-HJ-NP-Z0-9]{12,15} "  

0
un grand merci pour votre aide
je vais consacré ce dimanche aux recherche je vous dirais si ca a abouti.

une petite question qui n a rien a voir : peut on retrouver une adresse ip d un ordinateur portable sur une sauvegarde externe du disque dur ?
0
Utilisateur anonyme
22 avril 2022 à 10:31
Comme tu l’as dit, ça n’a rien à voir, vas poser cette question sur le forum réseau.
https://forums.commentcamarche.net/forum/reseau-5
Pense à leur préciser le type de sauvegarde et s’il s’agit d’une ip fixe ou dhcp.
0