Como Deletar Pasta no PowerShell

  1. Use o cmdlet Remove-item para deletar uma pasta no PowerShell
  2. Use o Prompt de Comando para Deletar uma Pasta no PowerShell
  3. Use o Método do Objeto FileSystem para Deletar uma Pasta no PowerShell
  4. Usando Classe .Net para Deletar uma Pasta no PowerShell
Criamos um vídeo detalhado no YouTube para acompanhar este artigo, incorporado abaixo!
Como Deletar Pasta no PowerShell

A ação de exclusão de pasta no PowerShell remove uma pasta de um determinado local, seja ele um caminho local ou compartilhado.

Este artigo foca nos diferentes métodos para excluir uma pasta usando PowerShell.

Use o cmdlet Remove-item para deletar uma pasta no PowerShell

Um ou mais objetos podem ser removidos com o cmdlet Remove-Item.

Podemos usar duas sintaxes diferentes para a exclusão. No entanto, deve-se notar que essas duas podem ser usadas separadamente, mas não combinadas.

  • Sintaxe 1
Remove-Item
[-Path] <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]
  • Sintaxe 2
Remove-Item
-LiteralPath <String[]>
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-Force]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-Stream <String[]>]
[<CommonParameters>]

Tanto -Path quanto -LiteralPath não podem ser usados na mesma sintaxe.

Parâmetros do Remove-item

O nome e a descrição dos parâmetros mais comuns utilizados são dados abaixo.

Nome Descrição
-Path O local das coisas a serem removidas é especificado. Não há restrições quanto ao uso de caracteres curinga.
-LiteralPath Caminho especificado para um ou mais locais
-Confirm Uma confirmação é solicitada antes de executar o cmdlet
-Exclude Itens que o cmdlet exclui durante a operação
-Credential Nenhum provedor instalado no PowerShell suporta este parâmetro. Use Invoke-Command para personificar outro usuário ou escalar suas permissões ao usar este cmdlet.
-Filter filtro para validar o parâmetro de caminho
-Force Força a remoção de objetos que não podem ser modificados de outra forma, como arquivos/aliases ou variáveis privadas ou somente leitura.
-Include Itens que o cmdlet inclui durante a operação
-Recurse Este cmdlet descarta os objetos nos locais dados, bem como todos os itens filhos dos locais.
-Stream O argumento Stream é um parâmetro dinâmico adicionado ao Remove-Item pelo provedor FileSystem. Essa configuração é aplicável apenas a unidades com um sistema de arquivos.
-WhatIf Mostra o que acontece se o cmdlet for executado.

Vamos olhar alguns exemplos junto com diferentes usos de sintaxe,

Exemplo 1:

Aqui, vamos excluir a pasta test1 usando o comando mencionado abaixo, e no final, você pode ver que a pasta será excluída.

Remove-Item 'D:\temp\Test1'

Exemplo 2:

Vamos excluir a pasta test2 recursivamente. O PowerShell verifica se o diretório está vazio no exemplo anterior. Ele apenas removerá a pasta neste cenário.

Remove-Item 'D:\temp\test2' -Recurse

Exemplo 3: Usando -LiteralPath em -RemoveItem

O -LiteralPath é usado junto com os parâmetros -Force e -Recurse. Portanto, ele exclui forçadamente os itens junto com a pasta no caminho dado sem qualquer solicitação de confirmação.

Remove-Item -LiteralPath "foldertodelete" -Force -Recurse

Exemplo 4: Remove-item como o pipeline

Usamos primeiro o Get-ChildItem para recuperar as pastas e arquivos, e então usamos o Remove-Item para encadear os resultados do comando anterior.

Get-ChildItem C:\Temp\TestFolder\ | Remove-Item -Recurse -Force -Verbose

O único problema aqui é que ele apenas exclui o conteúdo da pasta, mas não a própria pasta; portanto, outros trechos de código devem ser adicionados para excluir a pasta.

Use o Prompt de Comando para Deletar uma Pasta no PowerShell

A maioria dos usuários de linha de comando usará o comando rmdir para remover ou excluir pastas. A sintaxe é rmdir junto com o caminho da pasta, como mostrado abaixo.

rmdir C:\Temp\TestFolder

Use o Método do Objeto FileSystem para Deletar uma Pasta no PowerShell

Diferentes opções para remover uma pasta estão disponíveis no PowerShell. Uma delas é o Método do Objeto de Sistema de Arquivos. Existem duas fases para esse procedimento. No primeiro passo, construiremos um objeto de sistema de arquivos; em seguida, no segundo passo, usaremos a função DeleteFolder() para destruir a pasta do objeto associado.

Portanto, para fazer isso, primeiro crie um arquivo test.ps1 e adicione os seguintes comandos dados abaixo.

$object = New-Object -ComObject Scripting.FileSystemObject
$object.DeleteFolder("C:\Temp\TestFolder")

Finalmente, execute o arquivo test.ps1, e ele excluirá nossa pasta pretendida.

Usando Classe .Net para Deletar uma Pasta no PowerShell

No PowerShell, a classe System.IO.Directory e o método Delete() são usados pelo framework .NET para excluir uma pasta. Se a pasta fornecida não estiver vazia, esta operação lançará uma exceção:

&gt [System.IO.Directory]::Delete("C:\Temp\TestFolder")

Para remover esta pasta não vazia, use a opção $true na função Delete():

System.IO.Directory]::Delete("C:\Temp\TestFolder", $true)
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.