Question [Concours] Lister les dossier vides (Validé !)

Plus d'informations
il y a 16 ans 6 mois #958 par Eric
Bonjour,

Je me doute que l'utilité d'un tel script pourra paraître obscure à certains, malgré tout comme je m'en sers assez souvent pour faire du nettoyage suite à mes tests je me suis dis que ça pourrait servir à d'autres ;)

[code:1]# get-emptyFolder.ps1
#
# Retourne les dossiers ne contenant aucun fichier ni aucun sous-dossier.
#
# Usage: get-emptyFolder [-startPath]<chemin(s)> [-recurse]
#
# Exemple:
#
# get-emptyFolder C:\Temp,$HOME -recurse
# Retourne tous les dossiers vides contenus dans Temp et dans votre profil utilisateur
# Remarque: Si le dossier C:\Temp et/ou $HOME sont vides, il seront retournés aussi
# (à priori $HOME ne devrait pas être vide...)
#
# get-emptyFolder $HOME
# Retourne le dossier si il est vide.
#
# Remarque: - Fonctionne aussi avec d'autres provider que le système de fichier.
# (d'où l'utilisation des propriétés PsPath et PsIsContainer)
# - Par défaut si vous ne mettez aucun Path de départ, le script utlisera le répertoire courant.


param ([string[]]$startPath=\".\", [switch]$recurse = $false)


function isNotEmpty([string]$path) { return [bool](get-childitem $path -ea Stop | measure-object).count }

if (!$recurse) {
$startPath | foreach { get-item $_ -ea Stop | where { !$(isNotEmpty($_.PSPath)) } }
}
else {
$startPath | foreach { (get-childitem -recurse $_ -ea Stop | where { ($_.PsIsContainer) -AND (!$(isNotEmpty($_.PSPath))) }) }
}

trap {
throw \"Une erreur est survenue provoquant l'arrêt du script: $_\"
}[/code:1]

j'espère qu'il n'y aura pas d'erreurs, j'ai testé pas mal de possibilités différentes pour les trouver malgré tout si vous en trouvez n'hésitez pas à m'en faire part.

Message édité par: tofu, à: 18/09/07 16:00<br><br>Message édité par: Arnaud, à: 24/09/07 23:15

No pain,no gain.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #991 par Arnaud Petitjean
Très bon script qui peut rendre des services et qui peut aussi servir de base pour d'autres...

Validé ! ;)

Arnaud

MVP PowerShell et créateur de ce magnifique forum :-)
Auteur de 6 livres PowerShell aux éditions ENI
Fondateur de la société Start-Scripting
Besoin d'une formation PowerShell ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 16 ans 6 mois #997 par Robin Lemesle
Bravo tofu, c'est un script tres utile pour faire du ménage.


Rob<br><br>Message édité par: robin, à: 25/09/07 08:21

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.071 secondes
Propulsé par Kunena