Búsqueda de sitios web

PowerShell: Cómo convertir una cadena en un objeto de directorio


Puede utilizar la siguiente sintaxis en PowerShell para convertir una cadena en un objeto de directorio:

$my_dir = Get-Item $my_string

Este ejemplo particular convierte la cadena almacenada en la variable denominada $my_string en un objeto de directorio con el nombre de variable $my_dir.

Esta sintaxis supone que el directorio ya existe. Si el directorio aún no existe, recibirá un error.

Si lo desea, puede utilizar la siguiente sintaxis para crear el directorio si aún no existe:

if(Test-Path $my_string){
    $my_dir = Get-Item $my_string
} else{
    $my_dir = md $my_string
}

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: Cómo convertir una cadena en un objeto de directorio usando PowerShell

Supongamos que creamos una variable de cadena con la siguiente ruta de carpeta en PowerShell:

“c:\users\bobbi\data1”

Podemos usar la siguiente sintaxis para crear una variable de cadena llamada $my_string que contenga esta ruta de carpeta y luego convertirla en un objeto de directorio llamado $my_dir:

$my_string = "c:\users\bobbi\data1"
$my_dir = Get-Item $my_string 

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Podemos ver que la variable de cadena denominada $my_string se ha convertido correctamente en un objeto de directorio denominado $my_dir.

Tenga en cuenta que también pudimos utilizar la sintaxis $my_dir.FullName para recuperar la ruta completa al directorio.

Ahora supongamos que creamos una variable de cadena con la siguiente ruta de carpeta:

“c:\users\bobbi\data100”

Este directorio no existe actualmente, por lo que si intentamos utilizar el cmdlet Get-Item para convertir esta cadena en un objeto de directorio, recibiremos un error:

$my_string = "c:\users\bobbi\data100"
$my_dir = Get-Item $my_string

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que recibimos un error porque el directorio especificado por la variable de cadena aún no existe.

Podemos usar la siguiente sintaxis para crear este directorio si no existe:

if(Test-Path $my_string){
    $my_dir = Get-Item $my_string
} else{
    $my_dir = md $my_string
}

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que podemos convertir correctamente la variable $my_string en un objeto de directorio llamado $my_dir.

Tenga en cuenta que también pudimos utilizar la sintaxis $my_dir.FullName para recuperar la ruta completa a este directorio recién creado.

Artículos relacionados