PowerShell Crear carpeta si no existe

Powershell Crear Carpeta Si No Existe



¿Tiene varias carpetas y desea crear una nueva, pero no sabe si esa carpeta ya existe o no? Este proceso puede llevar mucho tiempo porque primero buscará esa carpeta, exista o no, y luego la creará si no existe.

Sorprendentemente, PowerShell puede ahorrarle mucho tiempo y esfuerzo si conoce un poco las secuencias de comandos.







¡Esperar! No es necesario aprender todo el tema de las secuencias de comandos para esa tarea. Porque he proporcionado cinco métodos para crear una carpeta, si no existe, con una explicación adecuada de cada comando utilizado en ella.



Esquema rápido:



Antes de pasar a los scripts, aprendamos cómo verificar si una carpeta existe o no y luego un método para crear una carpeta en PowerShell.





Compruebe si la carpeta ya existe en PowerShell

El Ruta de prueba El comando se utiliza para comprobar si la carpeta ya existe en PowerShell. Para comprobar si la carpeta existe, la ruta de la carpeta se especifica en el comando Test-Path, utilizando el comando -Camino parámetro. A cambio, el comando Test-Path devuelve Verdadero valor si existe, y FALSO si no existe.

Por ejemplo, verifiquemos si la carpeta especificada existe o no usando el Ruta de prueba dominio:



Ruta de prueba -Camino 'C:\Documento'

Para comprobar la existencia de la carpeta, primero especifique el Ruta de prueba comando y proporcione la ruta de la carpeta usando el -Camino parámetro:

La salida es FALSO porque la carpeta especificada no existe.

Crear una nueva carpeta en PowerShell

El Nuevo artículo El comando crea una nueva carpeta en PowerShell. Para crear un directorio, proporcione la ruta del directorio al comando New-Item usando el -Camino parámetro. Lo más importante es utilizar el -Tipo de artículo parámetro para crear una carpeta y especificar el Directorio valor. Si no especifica el parámetro -ItemType y el valor del Directorio, el comando New-Item creará un archivo en lugar de una carpeta.

Por ejemplo, creemos una nueva carpeta usando el Nuevo artículo comando en PowerShell:

Nuevo artículo -Camino 'C:\Documento' -Tipo de artículo Directorio

Para crear una nueva carpeta:

  • Primero, use el Nuevo artículo comando y especifique la ruta de la carpeta que se creará en el -Camino parámetro.
  • Después de eso, especifique el Directorio valor a la -Tipo de artículo parámetro para decirle a la consola que cree una carpeta en lugar de un archivo:

Se ha creado la nueva carpeta y su hora de creación también es visible en el resultado anterior.

Cree una carpeta si no existe en PowerShell

De la consulta se puede observar que va a ser un si no escenario, que establece que si la carpeta no existe, cree una nueva carpeta. Hay cinco métodos para crear una carpeta si no existe en PowerShell, y cada método implica el escenario de condición if-else.

Solución rápida

Aquí está la solución rápida para crear una carpeta si no existe en la consola de PowerShell:

si ( -no ( Ruta de prueba -Camino 'C:\NuevaCarpeta' ) ) { Nuevo artículo -Camino 'C:\NuevaCarpeta' -Tipo de artículo Directorio }

El directorio especificado no existe y por lo tanto se crea.

1. Cree una carpeta si no existe en PowerShell usando Test-Path

El Ruta de prueba El comando verifica la existencia de la carpeta y le dice a la consola si existe o no. El comando Test-Path y New-Item junto con el Si no La condición ayuda a crear una carpeta si no existe en PowerShell.

Por ejemplo, observemos este código para crear una carpeta si no existe usando el comando Test-Path:

si ( Ruta de prueba -Camino 'C:\NuevaCarpeta' ) {

Anfitrión de escritura 'La carpeta especificada ya existe'
}
demás
{
Nuevo artículo -Camino 'C:\NuevaCarpeta' -Tipo de artículo Directorio
}

Para crear una carpeta usando el Ruta de prueba y Nuevo artículo dominio:

  • Primero, creamos un Si condición, donde utilizamos el Ruta de prueba comando y especificó la carpeta usando el -Camino para comprobar la existencia de carpetas.
  • Si la carpeta especificada existe, el mensaje se mostrará utilizando el Anfitrión de escritura comando que indica que la carpeta ya existe y el script finalizará aquí.
  • De lo contrario, el programa pasará a la siguiente sección.
  • En la condición else, usamos el Nuevo artículo comando y especificó la ruta de la carpeta que se creará.
  • Para explicar más claramente la consola que crea una carpeta, usamos el -Tipo de artículo propiedad y especificó el valor Directorio :

Producción: La carpeta no existe y, por lo tanto, se crea una nueva carpeta en el directorio especificado.

2. Cree una carpeta si no existe en PowerShell usando Get-Item

El Obtiene el objeto El comando obtiene el archivo o carpeta de la ubicación especificada. El comando Get-Item también puede verificar la existencia de la carpeta usando la condición if.

Así es como puede crear una carpeta si no existe en PowerShell usando el comando Get-Item:

si ( Obtiene el objeto -Camino 'C:\Documento' -Acción de error Ignorar ) {
Anfitrión de escritura 'El archivo ya existe'
}
demás {
Nuevo artículo -Verboso 'C:\Documento' -Tipo de artículo Directorio
}

Para crear una carpeta si no existe utilice el Obtiene el objeto dominio:

  • Primero, crea un Si condición, donde se utiliza el Obtiene el objeto comando y especifique la ruta de la carpeta usando el -Camino parámetro para comprobar si ya existe o no.
  • Además, utilice el -Acción de error parámetro y especifique el Ignorar valor para ignorar los errores que pueden ocurrir durante la ejecución del código.
  • Si la carpeta ya existe, la consola mostrará el mensaje que dice que la carpeta ya existe usando el Anfitrión de escritura dominio.
  • Si la carpeta no existe, el programa pasará a la condición else donde se creará la nueva carpeta.
  • En la condición else, utilice el Nuevo artículo comando, especifique la ruta de la carpeta que se creará y utilice el -Tipo de artículo parámetro que tiene el valor Directorio especificado para ello.
  • Junto a él, especifique el -verboso parámetro para obtener una salida más detallada:

La captura de pantalla confirma que la carpeta especificada no existe y, por lo tanto, se creó una nueva carpeta.

3. Cree una carpeta si no existe en PowerShell usando Get-ChildItem

El Get-ChildItem El comando obtiene los archivos o carpetas del directorio dado. Se puede usar con el comando Nuevo elemento y la condición If-else para crear una carpeta si no existe en PowerShell.

Aquí está el código de ejemplo para crear una carpeta si no existe con la ayuda del comando Get-ChildItem:

si ( Get-ChildItem -Camino 'C:\Documento' -Acción de error Ignorar )
{
Anfitrión de escritura 'La carpeta ya existe'
}
demás
{
Nuevo artículo 'C:\Documento' -Tipo de artículo Directorio
}

Nota: La explicación del código para el fragmento anterior es la misma que para el Obtiene el objeto comando excepto el Get-ChildItem dominio:

La carpeta especificada no existe y, por lo tanto, se creó una nueva carpeta.

4. Cree una carpeta si no existe en PowerShell usando Test-Path y Mkdir

El mkdir El comando crea una carpeta en PowerShell. tiene un alias Maryland , que también funciona igual que el comando Mkdir. Este comando también puede crear una carpeta si no existe con la combinación del comando Test-Path y la condición if-else.

Este es el ejemplo de cómo crear una carpeta si no existe en PowerShell usando md y el comando Test-Path:

si ( Ruta de prueba -Camino 'C:\Carpeta' ) {

Anfitrión de escritura 'La carpeta ya existe'
}
demás
{
Maryland 'C:\Carpeta'
}

Para crear una carpeta si no existe:

  • Primero, cree el Si condición y especificar el Ruta de prueba comando junto con la carpeta para comprobar si existe o no.
  • Si la carpeta existe, finalice el código aquí e imprima la carpeta que ya existe.
  • De lo contrario, cree una carpeta usando el Maryland comando especificando el nombre de la carpeta y la ruta:

El resultado muestra que la carpeta no existe y, por lo tanto, se creó una nueva carpeta.

5. Cree una carpeta si no existe en PowerShell usando [System.IO.File]::Exists()

El [System.IO.File]::Existe() El comando comprueba si la carpeta especificada existe o no. Puede crear la carpeta en PowerShell si no existe con la combinación de la condición if-else y el comando New-Item.

Así es como puede crear una carpeta si no existe en PowerShell usando el comando [System.IO.File]::Exists():

si ( [ System.IO.Directory ] ::Existe ( 'C:\Documentos' ) )
{
Anfitrión de escritura 'La carpeta ya existe'
}
demás
{
Nuevo artículo 'C:\Documentos' -Tipo de artículo Directorio
}

En el código anterior:

  • Primero, crea un Si condición y especificar el [System.IO.Directory]::Existe(Carpeta-Ruta) comando dentro de él para verificar si esa carpeta existe o no.
  • Si se encuentra el directorio, la consola imprimirá que la carpeta existe.
  • De lo contrario, creará esa carpeta usando el Nuevo artículo dominio:

La carpeta especificada no existe y luego se crea una nueva carpeta usando el comando Nuevo elemento.

Consejo adicional: cree una carpeta si ya existe en PowerShell

El -Fuerza parámetro con el Nuevo artículo El comando se utiliza para sobrescribir una carpeta existente en PowerShell. El parámetro -Force sobrescribe un elemento existente en la ruta especificada en PowerShell. Para crear una carpeta si ya existe, simplemente agregue el parámetro -Force junto con el comando Nuevo elemento.

Así es como puedes sobrescribir una carpeta existente:

Nuevo artículo -Camino 'C:\Documento' -Tipo de artículo Directorio -Fuerza

Para crear una carpeta si ya existe en PowerShell:

  • Primero, use el comando Nuevo elemento y especifique la carpeta que se creará usando el parámetro -path.
  • Luego, use el parámetro -ItemType y especifique el valor para indicarle a la consola que cree una carpeta.
  • Por último, para sobrescribir una carpeta existente utilice el parámetro -Force:

La carpeta se sobrescribe correctamente en la ruta especificada.

Conclusión

Para crear una carpeta si no existe, primero, verifique la existencia de la carpeta usando el Ruta de prueba dominio. Luego, utiliza el Nuevo artículo comando para crear una carpeta, si no existe. Para realizar esta operación de una sola vez, debe utilizar el si no condición junto con el comando Test-Path y el comando New-Item, que ya demostré en el Método 1 de este artículo.