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

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.