Question [Concours] Lister les dossier vides (Validé !)
- Eric
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 19
- Remerciements reçus 0
il y a 16 ans 6 mois #958
par Eric
No pain,no gain.
[Concours] Lister les dossier vides (Validé !) a été créé 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
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.
- Arnaud Petitjean
- Hors Ligne
- Modérateur
il y a 16 ans 6 mois #991
par Arnaud Petitjean
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 ?
Réponse de Arnaud Petitjean sur le sujet Re:[Concours Scripting] Répertorier les dossier vides
Très bon script qui peut rendre des services et qui peut aussi servir de base pour d'autres...
Validé !
Arnaud
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.
- Robin Lemesle
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 260
- Remerciements reçus 0
il y a 16 ans 6 mois #997
par Robin Lemesle
Robin MVP PowerShell
Réponse de Robin Lemesle sur le sujet Re:[Concours Scripting] Répertorier les dossier vides
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
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
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Contributions à la communauté
- [Concours] Lister les dossier vides (Validé !)