Como Verificar se a Pasta Existe no PowerShell

  1. Use o cmdlet Test-Path para verificar se uma pasta existe no PowerShell
  2. Use a classe System.IO.Directory para verificar se uma pasta existe no PowerShell
  3. Use o cmdlet Get-Item para verificar se uma pasta existe no PowerShell
  4. Conclusão
Como Verificar se a Pasta Existe no PowerShell

O PowerShell é uma ferramenta poderosa que pode realizar diferentes operações com arquivos e pastas. Ele permite que você crie, copie, mova, renomeie, exclua e visualize arquivos e pastas no sistema.

O gerenciamento de arquivos e pastas é um recurso do PowerShell, permitindo que os usuários não apenas manipulem essas entidades, mas também verifiquem sua existência no sistema. Neste tutorial, vamos explorar vários métodos para verificar a existência de uma pasta no seu sistema usando o PowerShell.

Use o cmdlet Test-Path para verificar se uma pasta existe no PowerShell

O cmdlet Test-Path determina se todos os elementos do caminho existem ou não no PowerShell. Ele retorna um valor booleano, True se todos os elementos existirem e False se algum estiver ausente.

Sintaxe:

Test-Path -Path "C:\Path\to\Folder"

Parâmetro:

  • -Path: Este parâmetro indica o caminho para a pasta ou arquivo que você deseja verificar a existência. Neste caso, está definido como "C:\Path\to\Folder", indicando que você deseja verificar se a pasta localizada nesse caminho existe.

Por exemplo, o seguinte comando verifica se todos os elementos do caminho C:\New\complex existem ou não.

Test-Path -Path "C:\New\complex"

Saída:

True

Isso significa que a pasta complex existe no diretório C:\New.

Este seguinte comando verifica se a pasta Documents existe no diretório C:\New.

Test-Path -Path "C:\New\Documents"

Saída:

False

Portanto, a pasta Documents não está presente no diretório C:\New.

Se você quiser retornar informações detalhadas em vez de True/False, pode usar a declaração if assim.

if (Test-Path -Path "C:\New\Documents") {
    Write-Host "The given folder exists."
}
else {
    Write-Host "The given folder does not exist."
}

Neste código, usamos o cmdlet Test-Path para verificar se uma pasta, "C:\New\Documents", existe no sistema. Se a pasta existir, imprime "A pasta informada existe" usando Write-Host.

Se a pasta não existir, imprime "A pasta informada não existe" no console.

Saída:

The given folder does not exist.

Aparentemente, a pasta "C:\New\Documents" não existe no sistema, levando o cmdlet Test-Path a retornar False. Nosso código ativa o bloco else, mostrando a mensagem "A pasta informada não existe." no console.

Esta saída significa com precisão que a pasta especificada não foi localizada no caminho fornecido dentro do sistema.

Use a classe System.IO.Directory para verificar se uma pasta existe no PowerShell

A classe System.IO.Directory da estrutura .NET fornece métodos estáticos para criar, mover, excluir e enumerar diretórios e subdiretórios. Você pode usar seu método Exists() para ver se o caminho fornecido se refere a um diretório que já existe no sistema.

Ele também retorna True se o caminho existir e False se não existir.

[System.IO.Directory]::Exists("C:\New\complex")

Saída:

True

O [System.IO.Directory]::Exists("C:\New\complex") não tem parâmetro sendo usado. Em vez disso, está chamando diretamente um método para verificar se uma pasta existe no PowerShell.

Agora, vamos verificar se a pasta Documents existe no diretório C:\New.

[System.IO.Directory]::Exists("C:\New\Documents")

No comando acima, estamos usando a estrutura .NET chamada "System.IO.Directory" para verificar se uma pasta existe. Esta ferramenta tem um recurso chamado "Exists()" que nos ajuda com essa tarefa.

Dizemos a ela para olhar na localização "C:\New\Documents" e nos informar se há uma pasta lá. Se encontrar a pasta, retornará True, mas se a pasta não existir, dirá False.

Saída:

False

A saída é "False". Isso significa que o System.IO.Directory::Exists() indica que a pasta "C:\New\Documents" não existe no caminho especificado.

Use o cmdlet Get-Item para verificar se uma pasta existe no PowerShell

O Get-Item obtém o item no caminho dado. Se o caminho existir no sistema, imprime o Mode, LastWriteTime, Length e Name do diretório.

Get-Item C:\Users\Public

Neste comando, estamos recuperando informações sobre a pasta Public situada em C:\Users\Public. Quando executamos este comando no PowerShell, o console exibirá vários detalhes sobre a pasta.

Saída:

    Directory: C:\Users


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-r---        10/15/2023   6:35 PM                Public

Se o caminho especificado não existir, você receberá uma mensagem de erro dizendo que não existe, como no seguinte exemplo.

Get-Item C:\Users\Publics

Saída:

Get-Item : Cannot find path 'C:\Users\Publics' because it does not exist.
At line:1 char:1
+ Get-Item C:\Users\Publics
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (C:\Users\Publics:String) [Get-Item], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.GetItemCommand

Conclusão

Essas abordagens fornecem maneiras distintas de verificar a presença de pastas no PowerShell, e você pode modificá-las para atender às suas necessidades específicas. Essas técnicas não são apenas aplicáveis a pastas, mas também podem ser usadas para verificar a existência de arquivos dentro do seu sistema.

Esperamos que este artigo tenha lhe dado uma ideia de como verificar se uma pasta existe no PowerShell.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Artigo relacionado - PowerShell Folder