Não é possível remover a pasta com o Powershell, mas pode com o prompt de comando

1

Estou tentando excluir uma pasta em um script de instalação usando o PowerShell. O script copia vários arquivos para uma pasta de distribuição (usando o RoboCopy) e depois limpa arquivos e pastas supérfluos.

Parece que não consigo usar o PowerShell para excluir um nome de pasta c:\installs\wwhelp\Editors\.vs mesmo depois de ter definido permissões no Console do Powershell sendo executado como administrador.

Eu basicamente faço isso depois de copiar e limpar a pasta .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

Isso falha com:

rd : Cannot remove item C:\installs\wwhelp\editors\.vs: You do not have sufficient access rights to perform this operation.

A pasta está vazia e estou em execução como administrador e defini a política de execução. Se eu criar uma pasta chamada vs na mesma estrutura de pastas, a remoção funcionará.

Da mesma forma, executando o comando rd na janela de comando com o Admin funciona.

Alguma idéia de porque recebo uma exceção de segurança em uma pasta que começa com . no Powershell?

    
por Rick Strahl 19.01.2016 / 04:28

1 resposta

0

Tive problemas semelhantes tentando excluir um projeto que criei na pasta errada com a CLI dotnet. No meu caso, o .vs é uma pasta oculta, então usei o rd com o comando -force para removê-lo.

    
por 19.07.2018 / 11:28