Como Verificar se a Pasta Existe no PowerShell
-
Use o cmdlet
Test-Pathpara verificar se uma pasta existe no PowerShell -
Use a classe
System.IO.Directorypara verificar se uma pasta existe no PowerShell -
Use o cmdlet
Get-Itempara 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.
