Determina si existen todos los elementos de una ruta.

Sintaxis

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>]

Descripción

El cmdlet Test-Path determina si existen todos los elementos de una ruta. Devuelve TRUE ($true) si existen todos los elementos y FALSE ($false) si falta alguno. También puede indicar si la sintaxis de la ruta de acceso es válida y si la ruta de acceso lleva a un contenedor o a un elemento terminal (hoja).

Parámetros

-Credential <PSCredential>

Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual.

Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01". O bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedirá una contraseña.

Este parámetro no es compatible con los proveedores que se instalan con Windows PowerShell.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-Exclude <string[]>

Omite los elementos especificados. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Filter <string>

Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parámetro califica el parámetro Path. La sintaxis del filtro, incluido el uso de caracteres comodín, depende del proveedor. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica al recuperar los objetos en lugar de hacer que Windows PowerShell filtre los objetos después de recuperarlos.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-Include <string[]>

Prueba únicamente las rutas especificadas. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-IsValid

Determina si la sintaxis de la ruta es correcta, independientemente de si los elementos de la ruta existen o no. Este parámetro devuelve TRUE si la sintaxis de la ruta es válida y FALSE en caso contrario.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-LiteralPath <string[]>

Especifica una ruta que se va a probar. A diferencia de Path, el valor del parámetro LiteralPath se usa literalmente como se escribe. Ningún carácter se interpretará como un carácter comodín. Si la ruta incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a Windows PowerShell que no debe interpretar los caracteres como secuencias de escape.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByPropertyName)

¿Aceptar caracteres comodín?

false

-Path <string[]>

Especifica una ruta que se va a probar. Se permite el uso de caracteres comodín. Si la ruta contiene espacios, escríbala entre comillas. El nombre del parámetro ("Path") es opcional.

¿Requerido?

true

¿Posición?

1

Valor predeterminado

¿Aceptar canalización?

true (ByValue, ByPropertyName)

¿Aceptar caracteres comodín?

false

-PathType <TestPathType>

Indica si el elemento final de la ruta de acceso es de un tipo determinado. Este parámetro devuelve TRUE si el elemento es del tipo especificado y FALSE en caso contrario.

Los valores válidos son:

-- Container: elemento que contiene otros elementos, como un directorio o una clave del Registro.

-- Leaf: elemento que no contiene otros elementos, como un archivo.

-- Any: un contenedor o un nodo hoja. Indica si el elemento final de la ruta de acceso es de un tipo determinado. Devuelve TRUE si el elemento es del tipo especificado y FALSE en caso contrario.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

-UseTransaction

Incluye el comando en la transacción activa. Este parámetro solo es válido cuando hay una transacción en curso. Para obtener más información, vea about_Transactions.

¿Requerido?

false

¿Posición?

named

Valor predeterminado

¿Aceptar canalización?

false

¿Aceptar caracteres comodín?

false

<CommonParameters>

Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.

Entradas y salidas

El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.

Entradas

System.String

Puede canalizar a Test-Path una cadena que contiene una ruta de acceso (que no sea una ruta de acceso literal).

Salidas

System.Boolean

El cmdlet devuelve "True" si existe la ruta de acceso y "False" en caso contrario.

Notas

Los cmdlets que contienen el sustantivo Path (cmdlets Path) manipulan los nombres de las rutas de acceso y los devuelven con un formato conciso que todos los proveedores de Windows PowerShell saben interpretar. Se han diseñado para su uso en programas y scripts en los que se desea mostrar una ruta completa o parcial con un formato específico. Puede usarlos de la misma manera que usaría Dirname, Normpath, Realpath, Join u otros manipuladores de rutas.

Puede usar los cmdlets Path con varios proveedores, como FileSystem, Registry y Certificate.

El cmdlet Test-Path está diseñado para funcionar con los datos expuestos por cualquier proveedor. Para mostrar los proveedores que están disponibles en la sesión, escriba "Get-PSProvider". Para obtener más información, vea about_Providers.

Ejemplo 1

C:\PS>test-path -path "C:\Documents and Settings\NicoleH"

Descripción
-----------
Este comando indica si todos los elementos de la ruta de acceso existen, es decir, el directorio C:, el directorio Documents and Settings y el directorio NicoleH. Si falta alguno de ellos, el cmdlet devuelve FALSE. De lo contrario, devuelve TRUE.






Ejemplo 2

C:\PS>test-path -path $profile

C:\PS>test-path -path $profile -IsValid

Descripción
-----------
Estos comandos prueba la ruta del perfil de Windows PowerShell. 

El primer comando determina si existen todos los elementos de la lista. El segundo comando determina si la sintaxis de la ruta es correcta. En este caso, la ruta es FALSE, pero la sintaxis es correcta (TRUE). Estos comandos usan $profile, la variable automática que señala a la ubicación del perfil, aunque no exista.

Para obtener más información sobre variables automáticas, vea about_Automatic_Variables.






Ejemplo 3

C:\PS>test-path -path "C:\CAD\Commercial Buildings\*" -exclude *.dwg

Descripción
-----------
Este comando indica si hay archivos con una extensión distinta de .dwg en el directorio Commercial Buildings. 

El comando usa el parámetro Path para especificar la ruta de acceso. Dado que contiene un espacio, la ruta de acceso se incluye entre comillas. El asterisco situado al final de la ruta de acceso indica el contenido del directorio Commercial Buildings. (Con rutas de acceso largas, como esta, escriba las primeras letras de la ruta de acceso y, a continuación, utilice la tecla TAB para completarla).

El comando utiliza el parámetro Exclude para especificar archivos que se omitirán en la evaluación. 

En este caso, como el directorio sólo contiene archivos .dwg, el resultado es FALSE.






Ejemplo 4

C:\PS>test-path -path $profile -pathtype leaf

Descripción
-----------
Este comando indica si la ruta de acceso almacenada en la variable $profile lleva a un archivo. En este caso, como el perfil de Windows PowerShell es un archivo .ps1, el cmdlet devuelve TRUE.






Ejemplo 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

Descripción
-----------
Estos comandos utilizan el cmdlet Test-Path con el proveedor Registry de Windows PowerShell. 

El primer comando prueba si la ruta de acceso del Registro a la clave del Registro Microsoft.PowerShell es correcta en el sistema. Si Windows PowerShell se instala correctamente, el cmdlet devuelve TRUE.

Test-Path no funciona correctamente con todos los proveedores de Windows PowerShell. Por ejemplo, puede utilizar Test-Path para probar la ruta de acceso a una clave del Registro, pero si lo utiliza para probar la ruta de acceso a una entrada del Registro, siempre devolverá FALSE, aunque la entrada del Registro esté presente.






Vea también




Tabla de contenido