0

我有一条路。可以是文件的路径,也可以是目录的路径。现在我需要删除文件(如果它是文件的路径),然后检查同一文件夹中是否没有更多文件,将其删除,然后检查父文件夹等等。

如果它是目录的路径,请删除目录,然后检查父目录是否为空 - 也删除它,然后删除它的父目录,依此类推。

4

3 回答 3

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
于 2012-05-09T05:39:36.243 回答
0

我想通过结合这些可能来构建一些东西:

Get-ChildItem
Split-Path $path -parent  
Remove-Item 
于 2012-05-08T19:21:55.973 回答
0

如果您还没有完成这项工作,这可能会对您有所帮助:

您可以使用它来确定子项目是否是文件夹

| ? {$_.PSIsContainer}

并结合这个你可以看到它是否是一个空文件夹

| ? {$_.GetFiles().Count -eq 0}

祝你好运!

于 2012-05-09T09:54:16.730 回答