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

あなたがまだ仕事をしていないなら、これはあなたを助けるかもしれません:

これを使用して、子アイテムがフォルダーであるかどうかを確認できます

| ? {$_.PSIsContainer}

これと組み合わせると、空のフォルダーかどうかがわかります

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

幸運を!

于 2012-05-09T09:54:16.730 に答える
0

これらを組み合わせて何かを構築すると思います:

Get-ChildItem
Split-Path $path -parent  
Remove-Item 
于 2012-05-08T19:21:55.973 に答える