Búsqueda de sitios web

PowerShell: Cómo crear una carpeta si no existe


Puede usar la siguiente sintaxis en PowerShell para crear una carpeta solo si aún no existe:

$my_folder = "c:\users\bobbi\data1\west_data"
 
if (-not (Test-Path $my_folder)) {
    New-Item -Path $my_folder -ItemType Directory
    Write-Host "New folder successfully created"
}
else {
    Write-Host "This folder already exists"
}

Este ejemplo en particular intenta crear una carpeta llamada west_data en una ubicación particular.

Si la carpeta ya existe, recibimos el siguiente mensaje:

  • "Esta carpeta ya existe"

Si la carpeta aún no existe, se creará y recibiremos el siguiente mensaje:

  • "Nueva carpeta creada correctamente"

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

Nota: El cmdlet Test-Path devolverá True si la carpeta existe o False en caso contrario.

Ejemplo: Cómo crear una carpeta si no existe en PowerShell

Supongamos que nuestro directorio actual tiene la siguiente ruta:

c:/users/bobbi/data1

Podemos usar la siguiente sintaxis para enumerar todas las carpetas que existen en este directorio:

Get-ChildItem c:\users\bobbi\data1 -Directory

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

Podemos ver que existen cuatro carpetas en este directorio:

  • datos_centrales
  • este_datos
  • datos_pacífico
  • datos_sur
  • datos_oeste

Supongamos que intentaríamos crear una nueva carpeta en este directorio llamada west_data:

$my_folder = "c:\users\bobbi\data1\west_data"
 
if (-not (Test-Path $my_folder)) {
    New-Item -Path $my_folder -ItemType Directory
    Write-Host "New folder successfully 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 "Esta carpeta ya existe" porque de hecho hay una carpeta llamada west_data que ya existe en este directorio.

Supongamos que intentamos crear una carpeta llamada north_data:

$my_folder = "c:\users\bobbi\data1\north_data"
 
if (-not (Test-Path $my_folder)) {
    New-Item -Path $my_folder -ItemType Directory
    Write-Host "New folder successfully created"
}
else {
    Write-Host "This folder already exists"
}

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

Podemos ver que se ha creado una nueva carpeta llamada north_data y recibimos el mensaje “Nueva carpeta creada correctamente” para informarnos que se creó .

Artículos relacionados