我正在尝试使用 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 开关将其删除。