Búsqueda de sitios web

Crear carpeta si no existe en PowerShell [3 formas]


Este tutorial explicará cómo crear una carpeta usando PowerShell si no existe en la ubicación indicada.

Uso de los cmdlets Test-Path y New-Item

Para crear una carpeta si no existe en PowerShell:

  • Utilice el cmdlet Test-Path con la instrucción if para comprobar la ruta.
  • Si la carpeta no existe, cree una nueva carpeta con el cmdlet New-Item.

Alias de Get-ChildItem:

$path = "C:\test\New Folder"
if(Test-Path -Path $path){
      Write-Host "Folder already exists."
}
else{
      New-Item -Path $path -ItemType Directory 
      Write-Host "Folder created successfully."
}

Producción :

Producción :

Directory: C:\test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        22-12-2022     01:52                New Folder

Folder created successfully.

Primero, asignamos la ruta de la carpeta a la variable $path. Luego usamos Test-Path para determinar si la carpeta existe en esa ubicación. Comprueba si existen todos los elementos en la ruta.

Si la ruta existe, la declaración es True y se ejecuta el primer comando. Imprime el mensaje La carpeta ya existe.

Si la ruta no existe, New-Item crea un directorio Nueva carpeta en el directorio C:\test. Por último, el Write-Host genera el mensaje Carpeta creada correctamente.

New-Item es un cmdlet que se utiliza para crear un nuevo elemento. En este ejemplo, creamos una nueva carpeta con la ayuda del cmdlet New-Item.

Usando el método Directory.Exists()

Para comprobar si existe una carpeta en la ruta indicada, utilice el método [System.IO.Directory]::Exists().

Alias de Get-ChildItem:

$path = "C:\test\New Folder2"
if([System.IO.Directory]::Exists($path)){
      Write-Host "Folder already exists."
}
else{
      New-Item -Path $path -ItemType Directory
      Write-Host "Folder created successfully."
}

Producción :

Producción :

Directory: C:\test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        22-12-2022     01:55                New Folder2

Folder created successfully.

El método [System.IO.Directory]::Exists() de la clase .NET se utiliza como prueba condicional en la declaración if. Se evalúa como True si la ruta existe y False si no existe. Si el valor de retorno es False, New-Item crea una nueva carpeta en la ruta especificada.

Uso de Get-Item con el cmdlet New-Item

Para crear una carpeta si no existe:

  • Utilice Get-Item para comprobar la ruta.
  • Utilice New-Item para crear una carpeta.

Alias de Get-ChildItem:

$path = "C:\test\New Folder3"
if(Get-Item $path -ErrorAction Ignore){
      Write-Host "Folder already exists."
}
else{
      New-Item -Path $path -ItemType Directory 
      Write-Host "Folder created successfully."
}

Producción :

Producción :

Directory: C:\test

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----        22-12-2022     01:58                New Folder3

Folder created successfully.

En el ejemplo anterior,

  • $path contiene el nombre de la carpeta y la ruta.
  • Get-Item comprueba si la carpeta existe en la ruta.
  • New-Item crea una nueva carpeta si no existe en la ubicación indicada.
  • -ErrorAction Ignore oculta la excepción generada por Get-Item cuando no se encuentra la ruta.

Eso es todo. Ahora deberías saber cómo crear una carpeta si no existe en PowerShell. Si tiene alguna confusión, háganoslo saber en los comentarios.

Artículos relacionados