Je suis nouveau dans Powershell et je n'ai aucune expérience avec .NET. J'ai un script qui utilise(get-content | select-string -pattern -allmatches).matches | measure-object
pour trouver et compter combien de caractères se trouvent dans un fichier. Mon script fonctionne bien si le fichier ne contient que moins de 10k lignes. Sinon, pour un gros fichier, la RAM montera à 100% et PowerShell affichera (Ne répond pas)
J'ai fait quelques recherches et découvert que system.io.streamreader fonctionnera. J'ai lu quelques questions sur Stackoverflow et pour trouver et faire correspondre le caractère ou le mot dans un fichier, vous avez juste à faire ceci :
$file = get-item ''
$reader = New-Object -TypeName System.IO.StreamReader -ArgumentList $file
[int]$ligne = 0
while ( $lire = $reader.ReadLine() ) {
if ( $lire -match '' ) {
$ligne++
}
}
mais cela ne retourne que le nombre de lignes contenant le caractère, pas le nombre de caractères dans un fichier. Comment puis-je utiliser (select-string -inputobject -pattern -allmatches).matches | measure-object
avec streamreader ?