« PowerShell/Fichier » : différence entre les versions
Aller à la navigation
Aller à la recherche
(Page créée avec « {{Sommaire}} == Script de nettoyage de contenu de fichier == <source> # 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 "^[?]|put... ») |
m (→Voir aussi) |
||
Ligne 9 : | Ligne 9 : | ||
set-content fichier2.txt $fichier | set-content fichier2.txt $fichier | ||
</source> | </source> | ||
== Script de suppression de fichier == | |||
<source> | |||
# 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é." | |||
} | |||
</source> | |||
Résultat : | |||
[[File:powershell-fichier-suppression-010.png]] | |||
=== Complément === | |||
Liste des dix plus gros fichiers, tri décroissant : | |||
* <source inline>Get-ChildItem -file *.vhdx -recurse | sort Length -descending | select -first 10 | Select-Object Name, @{Name="Mo";Expression={$_.Length / 1MB}}</source> | |||
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 : | |||
* <source inline>Get-ChildItem -file *.* -recurse | sort Length -descending | select -first 10 | Select-Object -property Name, @{Label="Mo";Expression={"{0:N3}" -f ($_.Length / 1MB)}}</source> | |||
== Voir aussi == | == Voir aussi == |
Version du 21 décembre 2022 à 14:18
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)}}