A voir également:
- Explorer mes fichier pour retrouver une suite alphanumeriqu
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier host - Guide
- Explorer patcher - Télécharger - Personnalisation
13 réponses
Utilisateur anonyme
16 avril 2022 à 08:27
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
Si non, merci d'être plus explicite.
PS salamander ? https://fr.wikipedia.org/wiki/Salamander
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
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 ?
Utilisateur anonyme
16 avril 2022 à 09:06
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/
https://techexpert.tips/fr/powershell-fr/powershell-rechercher-dans-le-contenu-des-fichiers/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
merci visiblement y a tous dans le liens
je vous remercie et je n hésiterais pas a vous dire si ca a marché
je vous remercie et je n hésiterais pas a vous dire si ca a marché
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
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
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
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.
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.
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
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
Ç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é.
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é.
J'ai trouvé ça
https://stackoverflow.com/questions/27169043/powershell-search-matching-string-in-word-document
que j'ai adapté comme ça
Et qui m'a donné le résultat suivant
Maintenant, il faut l'adapter à Excel et Powerpoint....
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....
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
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.
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.
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
17 avril 2022 à 10:34
je l'ai dit, je suis tout sauf une lumière en Powershell.comme moi :)
Bonjour
merci pour toutes ses infos je vais essayé tout cela et ne manquerais pas de vous faire un retour
merci pour toutes ses infos je vais essayé tout cela et ne manquerais pas de vous faire un retour
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.
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.
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 »
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 »
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
en faite oui je veux que la suite soit isolé devant et derrière par un espace
Utilisateur anonyme
19 avril 2022 à 11:57
19 avril 2022 à 11:57
Get-ChildItem -Path "C:\Temp" -Recurse | Select-String -Pattern " M[a-zA-HJ-NP-Z0-9]{12,15} "
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 ?
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 ?
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.
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.