Commande Powershell pour supprimer les sous-dossiers sans supprimer la racine

Je vais avoir des problèmes pour créer une commande PS, qui me permet de supprimer plusieurs sous-dossiers sans supprimer le toit dossier.

I. E:

C:\Test a de nombreux sous-dossiers:

  • C:\Test\Item1
  • C:\Test\Item2
  • C:\Test\Item3

Et les dossiers Élément1, Élément2 et Item3 ont beaucoup de sous-dossiers et fichiers.

Je voudrais créer un PS qui me permettrait de supprimer tous les vides, les sous-dossiers à l'intérieur de Élément1, Élément2 et Item3 sans supprimer Élément1, Élément2 et Item3 dossiers. Il est possible que les dossiers des éléments est vide, mais je ne veux pas les supprimer, juste le vide le contenu de chaque dossier.

C'est juste un exemple, j'ai un avoir autour de 300 dossiers des éléments à l'intérieur de Test.

J'ai l'habitude d'utiliser ce:

$path="C:\TEST"

 do {

       $dir = gci $path -directory -recurse | Where { (gci $_.fullName).count -eq 0 } | select -expandproperty FullName

       $dir | Foreach-Object { Remove-Item $_ }

    } while ($dir.count -gt 0)

Mais cela supprime le dossier racine dossier (Item1, Item2 ou Item3) s'ils sont vides.

Merci d'avance.

OriginalL'auteur CrazyCow89 | 2017-02-08