PowerShell: Cómo comprobar si existe una carpeta
Puede utilizar la siguiente sintaxis en PowerShell para comprobar si existe una carpeta en una ruta específica:
Test-Path "c:\users\bobbi\data1\current_data"Este ejemplo particular comprueba si existe una carpeta en la ruta que especificamos.
El cmdlet Test-Path devolverá True si la carpeta existe o False en caso contrario.
También puedes usar la siguiente sintaxis para crear una carpeta solo si aún no existe:
$my_folder = "c:\users\bobbi\data1\current_data"
if (-not (Test-Path $my_folder)) {
New-Item -Path $my_folder -ItemType Directory
Write-Host "A new folder was created"
}
else {
Write-Host "This folder already exists"
}El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: Cómo comprobar si existe una carpeta usando PowerShell
Supongamos que nos gustaría comprobar si existe una carpeta llamada current_data en la siguiente ruta:
c:\users\bobbi\data1\current_dataPodemos utilizar la siguiente sintaxis para hacerlo:
Test-Path "c:\users\bobbi\data1\current_data"La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Esto devuelve Verdadero, lo que indica que esta carpeta existe en esta ruta específica.
Si lo deseamos, podemos usar la siguiente sintaxis para enumerar todas las carpetas que existen en el directorio principal data1:
Get-ChildItem c:\users\bobbi\data1 -DirectoryLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que existen dos carpetas en el directorio data1:
- datos_actuales
- nuevos_datos
Supongamos que nos gustaría crear una nueva carpeta llamada old_data pero solo si aún no existe.
Podemos utilizar la siguiente sintaxis para hacerlo:
$my_folder = "c:\users\bobbi\data1\old_data"
if (-not (Test-Path $my_folder)) {
New-Item -Path $my_folder -ItemType Directory
Write-Host "A new folder was created"
}
else {
Write-Host "This folder already exists"
}La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
El resultado muestra "Se creó una nueva carpeta", lo que nos indica que una carpeta llamada old_data no existía anteriormente pero se creó correctamente.
Podemos usar la siguiente sintaxis una vez más para enumerar todas las carpetas que existen en el directorio principal data1:
Get-ChildItem c:\users\bobbi\data1 -DirectoryLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que la nueva carpeta llamada old_data se ha agregado a este directorio.
Nota: Puede encontrar la documentación completa para el cmdlet Test-Path en PowerShell aquí.



