Test-Path
Determina se todos os elementos de um caminho existem.
Sintaxe
Test-Path [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]
Test-Path [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Include <string[]>] [-IsValid] [-PathType {<Any> | <Container> | <Leaf>}] [-UseTransaction] [<CommonParameters>]
Descrição
O cmdlet Test-Path determina se todos os elementos do caminho existem. Ele retorna TRUE ($true) se todos os elementos existirem e FALSE ($false) se faltar algum. Ele também pode informar se a sintaxe do caminho é válida e se o caminho leva a um contêiner ou a um elemento terminal (folha).
Parâmetros
-Credential <PSCredential>
Especifica uma conta de usuário com permissão para executar essa ação. O padrão é o usuário atual.
Digite um nome de usuário, como “User01” ou “Domain01\User01”. Ou insira um objeto PSCredential, como aquele gerado pelo cmdlet Get-Credential. Uma senha será solicitada após a digitação do nome do usuário.
Este parâmetro não tem suporte em nenhum dos provedores instalados com o Windows PowerShell.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Exclude <string[]>
Omite os itens especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Filter <string>
Especifica um filtro no formato ou no idioma do provedor. O valor desse parâmetro qualifica o parâmetro Path. A sintaxe do filtro, incluindo o uso dos caracteres curinga, depende do provedor. Os filtros são mais eficientes que outros parâmetros, porque o provedor os aplica durante a recuperação dos objetos, em vez de fazer com que o Windows PowerShell os filtre depois de recuperados.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-Include <string[]>
Testa somente os caminhos especificados. O valor desse parâmetro qualifica o parâmetro Path. Digite um elemento ou padrão do caminho, como "*.txt". Os caracteres curinga são permitidos.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-IsValid
Determina se a sintaxe do caminho está correta, a despeito do fato de os elementos do caminho existirem ou não. Esse parâmetro retornará TRUE se a sintaxe do caminho for válida e FALSE se não for.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-LiteralPath <string[]>
Especifica o caminho a ser testado. Ao contrário de Path, o valor do parâmetro LiteralPath é usado exatamente como é digitado. Nenhum caractere será interpretado como curinga. Se o caminho incluir caracteres de escape, coloque-os entre aspas simples. As aspas simples dizem ao Windows PowerShell para não interpretar quaisquer caracteres que tenham sequências de escape.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByPropertyName) |
Aceitar caracteres curinga? |
false |
-Path <string[]>
Especifica o caminho a ser testado. Os caracteres curinga são permitidos. Se o caminho incluir espaços, coloque-o entre aspas. O nome do parâmetro ("Path") é opcional.
Necessário? |
true |
Posição? |
1 |
Valor padrão |
|
Aceitar entrada do pipeline? |
true (ByValue, ByPropertyName) |
Aceitar caracteres curinga? |
false |
-PathType <TestPathType>
Informa quando o elemento final no caminho é de um determinado tipo. Esse parâmetro retornará TRUE se o elemento for do tipo especificado e FALSE se não for.
Os valores válidos são:
-- Container: um elemento que contém outros elementos, como um diretório ou chave do Registro.
-- Leaf: um elemento que não contém outros elementos, como um arquivo.
-- Any: um contêiner ou uma folha. Informa se o elemento final no caminho é de algum tipo específico. Retorna TRUE se o elemento for do tipo especificado e FALSE se não for.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
-UseTransaction
Inclui o comando na transação ativa. Este parâmetro é válido apenas quando uma transação está em andamento. Para obter mais informações, consulte about_Transactions.
Necessário? |
false |
Posição? |
named |
Valor padrão |
|
Aceitar entrada do pipeline? |
false |
Aceitar caracteres curinga? |
false |
<CommonParameters>
Esse cmdlet oferece suporte aos parâmetros comuns: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Para obter mais informações, consulte about_Commonparameters.
Entradas e saídas
O tipo de entrada é o tipo dos objetos que você pode canalizar para o cmdlet. O tipo de retorno é o tipo dos objetos que o cmdlet retorna.
Entradas |
System.String Você pode enviar uma cadeia de caracteres que contém um caminho (mas não um caminho literal) para Test-Path. |
Saídas |
System.Boolean O cmdlet retorna "True" quando o caminho existe e "False" quando não existe. |
Observações
Os cmdlets que contêm o nome Path (os cmdlets Path) manipulam os nomes de caminho e os retornam em um formato conciso que pode ser interpretado por todos os provedores do Windows PowerShell. Eles foram criados para o uso em programas e scripts em que você deseja exibir todo ou parte de um caminho em um determinado formato. Utilize-os como o faria com Dirname, Normpath, Realpath, Join ou outros manipuladores de caminho.
Você pode usar os cmdlets Path com vários provedores, incluindo FileSystem, Registry e Certificate.
O cmdlet Test-Path foi desenvolvido para funcionar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite "Get-PSProvider". Para obter mais informações, consulte about_Providers.
Exemplo 1
C:\PS>test-path -path "C:\Documents and Settings\NicoleH"
Descrição
-----------
Esse comando diz se todos os elementos no caminho existem, ou seja, o diretório C:, o diretório Documents and Settings e o diretório NicoleH. Se faltar algum deles, o cmdlet retornará FALSE. Caso contrário, ele retornará TRUE.
Exemplo 2
C:\PS>test-path -path $profile
C:\PS>test-path -path $profile -IsValid
Descrição
-----------
Esses comandos testam o caminho para o perfil do Windows PowerShell.
O primeiro comando determina se todos os elementos do caminho existem. O segundo comando determina se a sintaxe do caminho está correta. Nesse caso, o caminho é FALSE, mas a sintaxe é correta (TRUE). Esses comandos usam a variável $profile, a variável automática que aponta para o local do perfil, mesmo se o perfil não existir.
Para obter mais informações sobre variáveis automáticas, consulte about_Automatic_Variables.
Exemplo 3
C:\PS>test-path -path "C:\CAD\Commercial Buildings\*" -exclude *.dwg
Descrição
-----------
Esse comando determina se há algum arquivo no diretório Commercial Buildings que não seja um arquivo .dwg.
Esse comando usa o parâmetro Path para especificar o caminho. Como ele inclui um espaço, o caminho está entre aspas. O asterisco no final do caminho indica o conteúdo do diretório Commercial Building. (Com caminhos longos, como esse, digite as primeiras letras do caminho e use a tecla TAB para completar o caminho).
O comando usa o parâmetro Exclude para especificar arquivos que serão omitidos da avaliação.
Nesse caso, como o diretório possui apenas arquivos .dwg, o resultado é FALSE.
Exemplo 4
C:\PS>test-path -path $profile -pathtype leaf
Descrição
-----------
Esse comando determina se o caminho armazenado na variável $profile leva a um diretório ou a um arquivo. Nesse caso, como o perfil do Windows PowerShell é um arquivo .ps1, o cmdlet retorna TRUE.
Exemplo 5
C:\PS>test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell
TRUE
C:\PS> test-path -path HKLM:\Software\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell\ExecutionPolicy
FALSE
Descrição
-----------
Esses comandos usam o cmdlet Test-Path com o provedor de Registro do Windows PowerShell.
O primeiro comando testa se o caminho do Registro até a chave do Registro do Microsoft.PowerShell está correto no sistema. Se o Windows PowerShell estiver instalado corretamente, o cmdlet retornará TRUE.
Test-Path não funciona corretamente com todos os provedores do Windows PowerShell. Por exemplo, você pode usar o Test-Path para testar o caminho para uma chave do Registro, mas se você o usar para testar o caminho de uma entrada do Registro, ele sempre retornará FALSE, mesmo se a entrada estiver presente.
Consulte também
Conceitos
about_Providers
Convert-Path
Split-Path
Resolve-Path
Join-Path