Powershell 删除给定路径上的项,然后递归删除所有父项
我有一条路。可以是文件的路径,也可以是目录的路径。 现在我需要删除该文件(如果它是文件的路径),然后检查同一文件夹中是否没有其他文件,同时删除它,然后检查父文件夹,依此类推Powershell 删除给定路径上的项,然后递归删除所有父项,powershell,powershell-2.0,Powershell,Powershell 2.0,我有一条路。可以是文件的路径,也可以是目录的路径。 现在我需要删除该文件(如果它是文件的路径),然后检查同一文件夹中是否没有其他文件,同时删除它,然后检查父文件夹,依此类推 如果它是一个目录的路径,请删除目录,然后检查父目录是否为空-同时删除它,然后删除它的父目录,依此类推。我想通过组合这些,可以构建一些内容: Get-ChildItem Split-Path $path -parent Remove-Item 此脚本将删除路径中的顶部文件夹,包括其下的所有内容。$path变量可以指向文
如果它是一个目录的路径,请删除目录,然后检查父目录是否为空-同时删除它,然后删除它的父目录,依此类推。我想通过组合这些,可以构建一些内容:
Get-ChildItem
Split-Path $path -parent
Remove-Item
此脚本将删除路径中的顶部文件夹,包括其下的所有内容。
$path
变量可以指向文件或目录
$path = "D:\temp\temp2\file.txt"
$parts = $path.Split([System.IO.Path]::DirectorySeparatorChar)
# The following will remove D:\temp and everything in it
Remove-Item (Join-Path $parts[0] $parts[1]) -Recurse
如果您尚未完成此项工作,这可能会对您有所帮助: 您可以使用它来确定子项是否为文件夹
| ? {$_.PSIsContainer}
再加上这个,你可以看到它是否是一个空文件夹
| ? {$_.GetFiles().Count -eq 0}
祝你好运