无法使用 Powershell 删除文件夹,但可以使用命令提示符删除

无法使用 Powershell 删除文件夹,但可以使用命令提示符删除

我正在尝试使用 PowerShell 删除安装脚本中的文件夹。该脚本将一堆文件复制到分发文件夹(使用 RoboCopy),然后清理多余的文件和文件夹。

c:\installs\wwhelp\Editors\.vs即使在以管理员身份运行的 Powershell 控制台中设置了权限后,我似乎仍然无法使用 PowerShell 删除文件夹名称。

我基本上是在复制并清理 .vs 文件夹后执行此操作:

set source=\wwapps\wwhelp
set target=\installs\wwhelp
Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy UnRestricted

robocopy $source\Editors $target\Editors /MIR
deletefiles $target\Editors\.vs\*.* -r -f   <-- deletes files & folder recursively
rd  $target\Editors\.vs

失败原因:

rd:无法删除项目C:\installs\wwhelp\editors\.vs:您没有足够的访问权限来执行此操作。

该文件夹是空的,我以管理员身份运行,并设置了执行策略。如果我vs在相同的文件夹结构中创建一个名为的文件夹,则删除有效。

rd同样,使用管理员在命令窗口中运行该命令也可以。

知道为什么我.在 Powershell 中以 开头的文件夹上会遇到安全异常吗?

答案1

要删除以 开头的文件/文件夹.,您必须使用-Force参数。

这是因为 PowerShell 将它们视为只读/隐藏。

答案2

尝试使用 dotnet CLI 删除我在错误文件夹中创建的项目时遇到了类似的问题。 在我的情况下,.vs 是一个隐藏文件夹,因此我使用 rd 和 -force 开关将其删除。

相关内容