PowerShell/Fichier
Script de nettoyage de contenu de fichier
# Traitement de texte sur fichier brut (enlever les lignes qui contiennent les mots ou expressions indiquées) ; le nouveau fichier est "fichier2.txt" # l'expression "^[?]" indique une ligne commençant par un point d'interrogation. # la barre verticale sépare les expressions recherchées ; les espaces sont pris en compte. $fichier = get-content "c:\tmp\scores.txt" | where {$_ -notmatch "^[?]|putain|bite|caca| cul| chauve| mere"} set-content fichier2.txt $fichier
Script de suppression de fichier
# Auteur : Ph. Page # Création : 01/12/2021 # Modification : # # Script de suppression de fichiers de façon récursive ! # Clear-Host $CheminListe = @( 'C:\test\dossier1', 'C:\test\qcm', 'C:\test\Rufus' ) Clear-Host Write-Host "Demande de confirmation de suppression des fichiers des dossiers suivants :" Write-host $CheminListe -Separator "`n" $Reponse = Read-Host "`nEtes-vous sûr cette action ? (O/N)" if ($reponse -eq "O") { Write-Host "`n==> Traitement lancé..." foreach ($Chemin in $CheminListe) { if (Test-Path $Chemin) { Get-ChildItem -file -recurse -Force -path $chemin | Remove-Item #Get-ChildItem -file -recurse -Force -path $chemin } else { Write-Host "`tLe dossier suivant n'existe pas ! $Chemin" } } Write-Host "==> Traitement terminé." } else { Write-Host "Traitement non lancé." }
Complément
Liste des dix plus gros fichiers, tri décroissant :
Get-ChildItem -file *.vhdx -recurse | sort Length -descending | select -first 10 | Select-Object Name, @{Name="Mo";Expression={$_.Length / 1MB}}
Liste des dix plus gros fichiers, tri décroissant, avec mise en forme des valeurs numériques en Mo et 3 chiffres après la virgule :
Get-ChildItem -file *.* -recurse | sort Length -descending | select -first 10 | Select-Object -property Name, @{Label="Mo";Expression={"{0:N3}" -f ($_.Length / 1MB)}}