删除所有文件和子目录,但保留主目录

时间:2014-11-17 15:01:30

标签: powershell

我有一个文件夹,其中包含我要删除的全部内容,但我想保留实际的文件夹。我试过这个:

function deleteFiles {
  # The parameter. 
  param([string]$sourceDir) 

  # Move the files
  Get-ChildItem -Path $sourceDir -Include *.* -Recurse | foreach { $_.Delete()}

  #Delete empty directories
  Get-ChildItem -Path $sourceDir -recurse | Where-Object {
    $_.PSIsContainer -eq $true -and (Get-ChildItem -Path $_.FullName) -eq $null
  } | Remove-Item 
}

但是,由于其中一个子目录有自己的子目录,因此不会删除它们。

1 个答案:

答案 0 :(得分:5)

这应该足够了:

Remove-Item -Path "$sourceDir\*" -Recurse