0
votes

Récupérer une chaîne de fichier texte à l'aide de PowerShell

J'ai des fichiers texte qui contiennent des tâches d'exécution sur Windows Scheduler, j'essaie de lire une valeur spécifique à partir de ces fichiers et d'envoyer un courrier électronique,

par exemple: file_1.txt code> a ci-dessous les lignes et si le nombre rejeté est supérieur à 0000000000 code>, nous devrions être notifiés. P>

$Output = Get-Content "C:\Powershell\Logs\*.log" |Select -Index 22
$output

$output = Select-String  -Path 'C:\Powershell\Logs\*.log'  -Pattern 'REJECTED:'


4 commentaires

Est-ce le fichier entier?


Il y a plus de données à cela, c'est les données que je m'intéresse.


Ah! Je pense que votre utilisation de -index était significative. Comme ce n'est pas une partie nécessaire du processus de sélection, je l'ignorerai. Il existe des moyens plus rapides et de meilleure qualité d'obtenir le 21ème article d'un tableau ... [ Grin ]


Le Select -index doit fonctionner avec un fichier si c'est la bonne ligne. La première ligne est la ligne 0. Select-String renvoie un objet MatchInfo. Vous voudrez peut-être quelque chose comme $ sortie = (Select-String -Path 'c: \ PowerShell \ journaux \ *. Journal' -Pattern 'Rejeté:') chaîne réelle.


3 Réponses :


0
votes

Cela rend beaucoup d'hypothèses sur le contenu de vos fichiers, de sorte que cela ne fonctionne pas, vous devrez peut-être mettre à jour votre question avec plus de détails:

rejected count = 1


0 commentaires

0
votes

Ce n'est pas le plus joli code ... En fait, ce n'est même pas du code que je suis content de ... mais cela fonctionne et l'intention est que cela fonctionne de manière compréhensible pour vous!

Whirl et voir comment vous obtenez sur : -) xxx


0 commentaires

0
votes

Ceci obtient le nombre rejeté en utilisant la façon dont POSH gère -Match lorsque l'objet à gauche est une collection. Vous obtenez l'article, pas un booléen. xxx

sortie ... xxx


0 commentaires