Crear directorio usando Windows PowerShell

  1. Uso del espacio de nombres [System.IO] para crear un directorio en PowerShell
  2. Uso del objeto del sistema de archivos para crear un directorio en PowerShell
  3. Uso del cmdlet New-Item para crear un directorio en PowerShell
  4. Uso del comando heredado md para crear un directorio en PowerShell
Crear directorio usando Windows PowerShell

En Windows PowerShell, existen múltiples formas de crear carpetas o directorios de archivos que podemos integrar completamente en nuestros scripts. Este artículo mostrará cómo crearlos usando Windows PowerShell.

Uso del espacio de nombres [System.IO] para crear un directorio en PowerShell

Es posible usar la clase Directory .NET Framework del espacio de nombres system.io. Para usar la clase Directory, use el método estático CreateDirectory y proporcione una ruta a la ubicación de la nueva carpeta.

Esta técnica se muestra aquí.

[System.IO.Directory]::CreateDirectory("C:\test\newfolder")

Cuando se ejecuta el comando anterior, devuelve una clase DirectoryInfo. Sin embargo, no recomendamos necesariamente este enfoque, pero actualmente funciona y está disponible.

Uso del objeto del sistema de archivos para crear un directorio en PowerShell

Otra forma de crear un directorio es usar el objeto Scripting.FileSystemObject de Windows PowerShell.

Este método es el mismo objeto que utilizan VBScript y otros lenguajes de secuencias de comandos para trabajar con el sistema de archivos. Es rápido y relativamente fácil de usar.

Después de crear el objeto, Scripting.FileSystemObject expone un método CreateFolder. El método CreateFolder acepta una cadena que representa la ruta para crear la carpeta.

Después de ejecutarse, un objeto contiene la ruta y otra información sobre el directorio recién creado.

$fso = New-Object -ComObject Scripting.FileSystemObject
$fso.CreateFolder('C:\test1')

Uso del cmdlet New-Item para crear un directorio en PowerShell

Los comandos nativos de Windows PowerShell también están disponibles para crear directorios. Una forma es usar el cmdlet New-Item.

New-Item -Force -Path c:\test3 -ItemType Directory

Cuando se usa, el parámetro de interruptor -Force sobrescribirá las carpetas existentes que ya se han creado. En su lugar, podemos usar el cmdlet Test-Path para verificar si el directorio existe.

En el ejemplo a continuación, podemos crear un bloque de secuencias de comandos para verificar si el directorio existe. Si el directorio existe, no creará el directorio.

Esta sintaxis es una forma de evitar el parámetro de cambio -Force.

$path = "C:\temp\NewFolder"

if(!(test-path $path))
{
      New-Item -ItemType Directory -Path $path
}

Supongamos que comparamos la salida de este comando con la salida del comando anterior .NET. El resultado es el mismo porque el cmdlet New-Item y el comando [System.IO.Directory]::CreateDirectory devuelven un objeto DirectoryInfo.

También es posible acortar el comando New-Item omitiendo el nombre del parámetro -Path y proporcionando solo la ruta completa como una cadena de tipo de datos con la sintaxis ItemType. Este comando revisado se muestra aquí.

New-Item c:\test4 -ItemType directory

Algunos podrían quejarse de que era más fácil crear un directorio en el antiguo intérprete de comandos, cmd, porque todo lo que tenían que escribir era md, y escribir md es sin duda más fácil que escribir el comando New-Item.

Uso del comando heredado md para crear un directorio en PowerShell

El ejemplo anterior lleva a la cuarta forma de crear un directorio (carpeta) usando Windows PowerShell, usando la función md.

La ventaja de usar el comando md es que es más rápido ya que ya sabe que crearás un directorio. Por lo tanto, puede dejar el parámetro ItemType y escribir la ruta completa directamente.

md c:\test5
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artículo relacionado - PowerShell Directory