PowerShell/Fichier

De Kono Phil Ceci est la tagline
Aller à la navigation Aller à la recherche
Attention, menu à droite ==>


Généralité

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é."
}

Résultat : Powershell-fichier-suppression-010.png

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)}}


Voir aussi

  •