0
votes

Y a-t-il une commande PowerShell pour trouver un fichier avec un contenu spécifique?

Je m'attache actuellement à une tâche que j'ai reçu comme un défi de mon professeur, mais il est prudent de dire que je suis assez soulevé. Je suis censé trouver un fichier journal sur une machine virtuelle qui contient le mot clé spécifique "x".

Y a-t-il une commande spécifique que je pourrais utiliser pour rechercher dans chaque fichier pour ce mot clé?

Merci d'avance: D


0 commentaires

3 Réponses :


0
votes

Il n'y a pas de commandement, je suis au courant de cela rechercher directement un fichier avec un contenu spécifique. Vous devrez ouvrir chaque fichier et utiliser Regex pour trouver la chaîne. Vous utiliseriez get-wirtem pour obtenir une liste de chaque fichier dans le répertoire de journal, puis foreach élément que vous seriez get-Content , puis Vérifiez si ce contenu a la chaîne que vous recherchez.

Toutefois, si vous le souhaitez un A +, vous pouvez exécuter la tâche de rechercher chaque fichier en tant que travail ou à un espace d'exécution pour vérifier chaque fichier en parallèle / nouveau thread, ce qui augmenterait considérablement la vitesse du tri dans de nombreux fichiers, mais que est une technique plus avancée.

Une partie de la leçon apprend à la codification de cela, alors je suis en train d'omettre le code et de vous donner les commandes de clé que vous devriez regarder.


0 commentaires

0
votes

Vous pourriez être capable de faire quelque chose comme:

Get-Childitem -Path Path \ to \ Recherche -Recurse -ErrorAction silencianteContinue | Select-String -pattern "Jonathan.Williams" | Chemin de groupe | Sélectionnez Nom

mise à jour:

Vous pouvez le changer à

Get-Childitem -Path Path \ to \ Recherche -Recurse -ErrorAction silencianteContinue | Select-String "Jonathan.Williams"

Pour obtenir le numéro de ligne avec le fichier aussi bien


0 commentaires

1
votes

Select-String code> est la cmdlet que vous recherchez.

dir *.log | select-string 'regex pattern


2 commentaires

Existe-t-il un moyen d'automatiser la recherche dans chaque répertoire?


Bien sûr ... Utilisez le commutateur -Recurse sur DIR (get-childitem)