2016-05-27 23 views
1

Powershellでは、TFSから取得したプロジェクトファイルのフォルダをクリアするスクリプトがあります。-RecurseのRemove-Itemはすべてのファイルとフォルダを削除しません

コマンドは単純です:

$deletePath = 'c:\Compile\*' 
Remove-Item $deletePath -Recurse -Force 

実行する前にCで約150のフォルダがあります:\コンパイル、その後左3つのフォルダがあります。

スクリプトは、私はそれがディレクトリ内のファイル/フォルダを取り扱うため-Forceの使用を考えた5つのエラー

Remove-Item : Cannot remove item C:\Compile\DatabaseObjects: The directory is not empty. 
Remove-Item : Cannot remove item C:\Compile\IFIFWCHG\obj: The directory is not empty. 
Remove-Item : Cannot remove item C:\Compile\IFIFWCHG: The directory is not empty. 
Remove-Item : Cannot remove item C:\Compile\PrecompiledWeb\IIS: The directory is not empty. 
Remove-Item : Cannot remove item C:\Compile\PrecompiledWeb: The directory is not empty. 

を生成します。

面白いのは、スクリプト実行後にDatabaseObjectsフォルダが空であるため、ファイルを削除する前にフォルダを削除しようとしているようです。

答えて

1

Get-ChildItemコマンドレットを使用してすべてのアイテムを取得し、ForEach-Objectループを使用して反復処理して削除してください。

Get-Childitem 'c:\Compile\' -Recurse | ForEach-Object { 
    Remove-Item $_.FullName -Force 
} 
関連する問題