Crear directorio usando Windows PowerShell
-
Uso del espacio de nombres
[System.IO]
para crear un directorio en PowerShell - Uso del objeto del sistema de archivos para crear un directorio en PowerShell
-
Uso del cmdlet
New-Item
para crear un directorio en PowerShell -
Uso del comando heredado
md
para crear un directorio en 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 specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedIn