我有一条路。可以是文件的路径,可以是目录的路径。 现在我需要删除文件(如果它是文件的路径),然后检查同一文件夹中是否没有更多文件,也删除它,然后检查父文件夹等等。
如果它是目录的路径,删除目录,然后检查父项是否为空 - 也删除它,然后删除它的父项,依此类推。
答案 0 :(得分:1)
此脚本将删除路径中的顶级文件夹,包括其下的所有内容。 $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
答案 1 :(得分:0)
我想通过结合这些可能来构建一些东西:
Get-ChildItem
Split-Path $path -parent
Remove-Item
答案 2 :(得分:0)
如果您还没有完成这项工作,这可能会对您有所帮助:
您可以使用它来查明子项目是否为文件夹
| ? {$_.PSIsContainer}
并与此相结合,您可以看到它是否为空文件夹
| ? {$_.GetFiles().Count -eq 0}
祝你好运!