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