Question
Suppression répertoire vide
- Leharivel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 15 ans 1 mois #9381
par Leharivel
Suppression répertoire vide a été créé par Leharivel
Bonjour,
J'ai trouvé sur le site un script qui me permet de supprimer les fichiers dans les dossiers et sous-dossiers à partir d'une date.
Cela fonctionne très bien mais j'ai encore les répertoire
Je voudrais savoir s'il existe une commande qui me permet par exemple de lister les répertoires vide et de les supprimer en suite
Sous cmd cela fonctionne ci-dessou la commande :
for /f \"tokens=*\" %i in ('dir/a:d /b /s ^| sort /r') do @rd \"%i\"
Je voudrais faire la même commande sous powershell<br><br>Message édité par: anth14, à: 13/04/11 20:11
J'ai trouvé sur le site un script qui me permet de supprimer les fichiers dans les dossiers et sous-dossiers à partir d'une date.
Cela fonctionne très bien mais j'ai encore les répertoire
Je voudrais savoir s'il existe une commande qui me permet par exemple de lister les répertoires vide et de les supprimer en suite
Sous cmd cela fonctionne ci-dessou la commande :
for /f \"tokens=*\" %i in ('dir/a:d /b /s ^| sort /r') do @rd \"%i\"
Je voudrais faire la même commande sous powershell<br><br>Message édité par: anth14, à: 13/04/11 20:11
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 1 mois #9384
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:Suppression répertoire vide
Salut Anth, sois le bienvenu dans le forum ! 
Essaie cette ligne de commandes :
[code:1]
PS > Get-ChildItem C:\ -recurse | where {$_.mode -like 'd*' } | where { @(gci $_.Fullname).count -eq 0} | remove-item
[/code:1]
Avant de lancer la commande je te conseille d'enlever le Remove-item, histoire de vérifier que les répertoires listés soient bien vides (ce qui semble être le cas chez moi).
Sinon tu peux aussi ajouter le commutateur -WhatIf sur le remove-item afin de simuler la suppression.
[code:1]
PS > Get-ChildItem C:\ -recurse | where {$_.mode -like 'd*' } | where { @(gci $_.Fullname).count -eq 0} | remove-item -Whatif
[/code:1]
@+
Arnaud
Essaie cette ligne de commandes :
[code:1]
PS > Get-ChildItem C:\ -recurse | where {$_.mode -like 'd*' } | where { @(gci $_.Fullname).count -eq 0} | remove-item
[/code:1]
Avant de lancer la commande je te conseille d'enlever le Remove-item, histoire de vérifier que les répertoires listés soient bien vides (ce qui semble être le cas chez moi).
Sinon tu peux aussi ajouter le commutateur -WhatIf sur le remove-item afin de simuler la suppression.
[code:1]
PS > Get-ChildItem C:\ -recurse | where {$_.mode -like 'd*' } | where { @(gci $_.Fullname).count -eq 0} | remove-item -Whatif
[/code:1]
@+
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.
- Leharivel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 15 ans 1 mois #9397
par Leharivel
Réponse de Leharivel sur le sujet Re:Suppression répertoire vide
Merci à toi Arnaud
Je viens de tester la ligne de code
cela fonctionne, mais cela ne supprime pas les dossiers vide enfant
J'ai trouvé cela sur le net
[code:1]#==========================================================================
# SCRIPT SUPPRESSION : Des dossiers vides
#==========================================================================
function findolder($apath) {
$items = get-childitem $apath -force
foreach($fileordir in $items) {
if($fileordir.PSIsContainer) {
findolder($fileordir.FullName)
$childrens = get-childitem $fileordir.FullName -force
if($childrens -eq $null) {
remove-item $fileordir.FullName
}
}
}
}
findolder(\"c:\test\"«»)[/code:1]
cela fonctionne
Merci encore Arnaud<br><br>Message édité par: Arnaud, à: 14/04/11 23:28
Je viens de tester la ligne de code
cela fonctionne, mais cela ne supprime pas les dossiers vide enfant
J'ai trouvé cela sur le net
[code:1]#==========================================================================
# SCRIPT SUPPRESSION : Des dossiers vides
#==========================================================================
function findolder($apath) {
$items = get-childitem $apath -force
foreach($fileordir in $items) {
if($fileordir.PSIsContainer) {
findolder($fileordir.FullName)
$childrens = get-childitem $fileordir.FullName -force
if($childrens -eq $null) {
remove-item $fileordir.FullName
}
}
}
}
findolder(\"c:\test\"«»)[/code:1]
cela fonctionne
Merci encore Arnaud<br><br>Message édité par: Arnaud, à: 14/04/11 23:28
Connexion ou Créer un compte pour participer à la conversation.
- Arnaud Petitjean
-
- Hors Ligne
- Modérateur
-
il y a 15 ans 1 mois #9400
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:Suppression répertoire vide
Pour que mon script supprime les répertoires enfants, ajoute le paramètre -recurse à la commande Remove-item.
Arnaud
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.
- Leharivel
- Auteur du sujet
- Hors Ligne
- Nouveau membre
-
Réduire
Plus d'informations
- Messages : 17
- Remerciements reçus 0
il y a 15 ans 1 mois #9421
par Leharivel
Réponse de Leharivel sur le sujet Re:Suppression répertoire vide
Bonjour Arnaud,
Cela fonctionne aussi
Merci
Cela fonctionne aussi
Merci
Connexion ou Créer un compte pour participer à la conversation.
Temps de génération de la page : 0.041 secondes
- Vous êtes ici :
-
Accueil
-
forum
-
PowerShell
-
Entraide pour les débutants
- Suppression répertoire vide