2012-05-08 19 views
0

私はパスを持っています。ファイルへのパスでも、ディレクトリへのパスでもかまいません。 ファイルを削除する必要があります(ファイルへのパスである場合)。そして、同じフォルダにファイルがなくなっているかどうかを確認し、削除してから親フォルダを確認してください。指定されたパスで項目を削除し、すべての親を再帰的に削除します

ディレクトリへのパスである場合は、ディレクトリを削除し、親が空であるかどうかを確認します。それも削除し、次に親を削除します。

答えて

0

私は何かを構築するためにこれらの可能性を組み合わせることにより、推測:

Get-ChildItem 
Split-Path $path -parent 
Remove-Item 
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 
0

あなたはすでにこれはあなたを助けるかもしれない仕事をしていない場合:

子アイテムがフォルダこれで

| ? {$_.PSIsContainer} 

と組み合わせている場合は、調べるためにこれを使用することができます空のフォルダであるかどうか確認できます

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

幸いです!

関連する問題