我有一个要删除其全部内容的文件夹,但我想保留实际的文件夹。我已经试过了:

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
}

但是,由于子目录之一具有自己的子目录,因此不会将其删除。

最佳答案

这样就足够了:

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

10-02 12:28