Bonjour,

Je viens vers vous étant à cours de solution.

Alors voilà j'ai un script qui doit traité 36 .txt, d'environ 500 000 lignes chacun sachant aussi que certaines lignes sont obsolètes. Pour cela j'ai rajouté -EA SilentlyContinue.

Mon problème est le suivant ayant beaucoup de ligne a traité je voulais savoir si il existait un moyen d’accélérer l'exécution du script pour ainsi évité d'impacter le serveur en prod' je vous mets donc mon script a disposition.

#Rechcerche du fichier spécifique
$file2 = "C:\Users\*.txt"

#Initailisation des différentes variables permettant de savoir le nombre total de fichiers et la taille total se trouvant dans $file2
$NumberOfFilesTotal = 0
$tailleTotal = 0

#Initailisation de la variable $list permettant la lecture de chaque ligne dans le $file2
$list = Get-Content $file2
$list | foreach {
#Lecture des différentes lignes
$list = $_

#Calcul du nombre de fichiers
$NumberOfFiles = Get-ChildItem -path $list -Recurse -force -EA silentlycontinue -include *.*| Measure-Object | %{$_.Count}

#Calcul de la taille de chaque fichiers se trouvant dans $file2
$taille = ((Get-ChildItem -path $list -Recurse -force -EA silentlycontinue -include *.* | Measure-Object -Property Length -Sum -ErrorAction Stop).Sum)

#Incrémentation de tous les fichiers se trouvant dans $file2
$NumberOfFilesTotal += $NumberOfFiles

#Incrémentation de toutes les tailles se trouvant dans $file2
$tailleTotal += $taille
}
#Conversion de bytes en MégaBytes
$tailletotal = $tailleTotal /1048576

#Ecriture du résultat à l'écran
Write-Host "Il y a" $NumberOfFilesTotal "fichiers, dossiers et de sous dossiers" -ForegroundColor Yellow
Write-Host "Le fichier fait" $tailleTotal "MB" -ForegroundColor Green

#Enregistrement des différents retours de variable
#$NumberOfFilesTotal | Export-CSV -Path "C:\users\$env:USERNAME\$env:COMPUTERNAME-NombreDeFichier.csv"
#$tailleTotal | Export-CSV -Path "c:\users\$env:USERNAME\$env:COMPUTERNAME-TailleTotal.csv"
$Fichier1="Il y a" + " " + $NumberOfFilesTotal+ " " + "fichiers sur" + " " + $env:COMPUTERNAME
$Fichier1 > "C:\users\$env:USERNAME\$env:COMPUTERNAME-NombreDeFichier.csv"
$Fichier2="La taille total est de" + " " + $tailleTotal + " " + "MB sur"+ " " + $env:COMPUTERNAME
$Fichier2 > "c:\users\$env:USERNAME\$env:COMPUTERNAME-TailleTotal.csv"