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/data1Podemos usar la siguiente sintaxis para enumerar todas las carpetas que existen en este directorio:
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 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ó .


