サブフォルダー/ファイルがあるフォルダーを削除しようとしています。
Remove-Item -Force -Recurse -Path $directoryPath
エラーCannot remove item. The directory is not empty.
が発生しています
私のPowershellScript.ps1にはexecutionPolicy unrestrictedがあります。現在ログインしているユーザーで削除しようとしているルートフォルダーには、このフォルダーのフルアクセス権があります。
ローカルPCではコードは機能しますが、Windows Server 2012 R2
では機能しません。
次を試すことができます:
Remove-Item -Force -Recurse -Path "$directoryPath\*"
ただし、-Recurse
のRemove-Item
パラメーターは常に正しく機能するとは限らないため、最初にGet-ChildItem
でファイルを再帰し、次にそれらをRemove-Item
にパイプするのが最善です。
Get-ChildItem $directoryPath -Recurse | Remove-Item -Force
ファイルは別のプログラムで開いています
プロジェクトを開いた状態でVisual Studioを開いていて、このエラーが発生していたことを忘れていました。
そのディレクトリに関連付けられているファイルをすべて閉じ、管理者としてPowerShellを実行してから、コマンドを実行します。
Remove-Item "C:\path\to\dir" -Recurse -Force