我有以下脚本:
New-Item -ItemType Directory -Force -Path .\bin\Release\SurvivalKit | Out-Null
#Clear-Content -Path .\bin\Release\SurvivalKit
Remove-item .\bin\Release\SurvivalKit\* -Recurse -Force
Remove-Item
正常工作,但是Clear-Content
导致拒绝访问错误。
PermissionDenied:(D:\ dev \ fromSVN ... SurvivalKit:String)[清除内容],UnauthorizedAccessException
我的外壳是管理外壳。
是否可以使用Clear-Content
清空目录?
答案 0 :(得分:1)
我尝试使用Clear-Content
,将其指向目录C:\folder
总是以PermissionDenied错误结尾,即使权限正确也是如此-如果文件夹中包含文件,即使文件夹包含文件,也是如此空的。
如果将其指向文件夹内容C:\folder\*
,它将按预期工作并清除目录中文件的内容。
您似乎正在尝试将其用于无法执行的操作,documentation for Clear-Content并未声明会删除项目(文件)的任何地方,只会删除项目内容:
Clear-Content cmdlet删除项目的内容,例如从文件中删除文本,但不会删除该项目。结果,该项目存在,但为空。
因此Clear-Content
将删除文件的内容,但不会删除文件本身。
如果确实将其指向文件夹:
Clear-Content -Path C:\folder\*
其中的文件将保留,但是将清除所有内容并成为空的“ 0KB”文件:
要删除文件Remove-Item
是正确的命令:
Remove-Item -Path C:\folder\*