Una manera fácil de crear archivos y carpetas con PowerShell

La administración de archivos es una parte integral de su trabajo diario, ya que deberá administrar el acceso a las carpetas compartidas, realizar copias de seguridad de archivos y carpetas con regularidad y realizar otras operaciones estándar de archivos y carpetas en su sistema Windows. La buena noticia es que puede usar PowerShell para administrar archivos fácilmente. De hecho, puede reducir la cantidad de trabajo manual asociado con la gestión de archivos. En este artículo, nos centraremos en cómo puede crear archivos y carpetas en PowerShell

Índice

Creando un archivo

Para crear un nuevo archivo, use el comando Nuevo. En general, este cmdlet se usa para crear cualquier tipo de objeto en PowerShell. Todo lo que necesita hacer es especificar el tipo de objeto que desea crear en este cmdlet.

Así es como puede crear un archivo o carpeta en PowerShell usando El comando Nuevo Elemento..

New-Item -Path '\SharedTestFoldertestfile1.txt' - ItemType File

El comando anterior creará un nuevo archivo llamado testfile1.txt. Aquí, el tipo de elemento es un archivo, por lo que se creará un archivo para usted y el contenido estará vacío. En otras palabras, este comando creará un archivo de texto vacío para usted.

Crear archivos después de verificar el nombre del archivo

Ahora que tiene un archivo con el mismo nombre, se sobrescribirá. Así que asegúrese de verificar el nombre del archivo antes de crearlo. Otra opción es tener una secuencia de comandos que buscará automáticamente otro archivo con el mismo nombre y creará un archivo solo si no hay otro archivo con el mismo nombre.

A continuación se muestra un ejemplo de dicho script.

$filenames = Get-ChildItem \SharedTestFolder*.txt | select -expand fullname
$filenames -match "testfile1.txt"
If ($filenames -eq 'False') {
New -Item -Path '\SharedTestFoldertestfile1.txt' - ItemType File
}
else {exit}

La secuencia de comandos anterior verificará si existe un archivo con un nombre similar en el mismo directorio y, de ser así, terminará. De lo contrario, creará un nuevo archivo.

Sobrescribir el archivo existente

Hemos visto antes cómo evitar sobrescribir un archivo existente. Pero a veces es posible que tenga que sobrescribir el archivo, y puede hacerlo usando la opción Forzar cambio.

New-Item -Path '\SharedTestFoldertestfile1.txt' - ItemType File -Force

Este comando crea a la fuerza un archivo y sobrescribe el existente porque en realidad le está diciendo al sistema que sabe lo que está haciendo y que no necesita advertencias ni recordatorios para sobrescribir los archivos. Si bien esto puede parecer una buena idea, siempre existe la posibilidad de errores y puede perder los datos presentes en los archivos existentes. Es por eso que es malo programar para usar esta opción de cambio, y si necesita hacerlo, tenga cuidado.

Escribir datos en archivos nuevos

La mayoría de las veces no necesitamos un archivo vacío porque no tiene sentido. Lo más probable es que necesite un archivo de datos y, preferiblemente, con la capacidad de agregarle más contenido regularmente.

La buena noticia es que PowerShell tiene un comando integrado llamado Out-File para crear un archivo y escribir datos en él durante la creación, siempre que sepa qué debe contener.

$content="Hello world! This is the first line of my file." | out-file -filepath C:temptestfile1.txt

Esto creará un archivo llamado textfile1.txt en el directorio C:Temp y contendrá su mensaje.

Por lo tanto, estas son diferentes formas de crear un archivo, incluidas las consideraciones que debe tener en cuenta.

A continuación pasaremos a la creación de carpetas o directorios.

Creando una carpeta

Hay cuatro formas de crear una carpeta o un directorio en PowerShell, y la elección depende de sus necesidades de programación.

Usar Windows PowerShell nativo

Probablemente, la forma más fácil de crear un directorio es usar el comando nativo de Windows PowerShell. Podemos usar el mismo comando que se usó para crear el archivo para crear la carpeta y, como habrás adivinado, simplemente cambia el valor de ItemType:

New-Item -Path '\SharedTestFolder' - ItemType Directory

Este comando devuelve un objeto llamado DirectoryInfo que tiene modo de carpeta, hora de última escritura y longitud de nombre.

Incluso puede omitir el parámetro Ruta y especificar el nombre de la ruta directamente, y el resultado será el mismo.

New-Item '\SharedTestFolder' - ItemType Directory

Asegúrese de incluir el valor ItemType.

Uso de la clase .NET Framework

La siguiente opción es crear una carpeta usando el espacio de nombres system.io y el método estático CreateDirectory en la clase Directory.

Comando que puedes usar:

[system.io.directory]::CreateDirectory("\SharedTestFolder")

Aquí tenemos que advertir. Esta es una clase de la plataforma .NET y no se considera una buena práctica usarla en un entorno de Windows PowerShell. Sin embargo, la elección es suya y este equipo creará una carpeta. Al igual que la versión anterior, devolverá un objeto DirectoryInfo con todos los detalles de la carpeta recién creada.

uso de objetos

El tercer método es usar el método Object con Scripting.FileSystemObject. Tenga en cuenta que este es el mismo método que se usa en VBScript, y la ventaja es que es rápido y relativamente fácil de usar para crear un directorio.

$newdirectory = new-object -ComObject scripting.filesystemobject
$newdirectory.CreateFolder(“\SharedTestFolder”)

Este comando devolverá un objeto que contiene la ruta y otra información del directorio.

Usando la función md

La última opción es crear un directorio usando la función md. Muchas personas encuentran esto conveniente porque a menudo lo han usado en la línea de comandos para crear diferentes carpetas. Además, la sintaxis es bastante simple y no necesita mencionar ItemType, ya que un md es suficiente para decirle al sistema que está creando una carpeta.

Entonces el comando es este:

md \SharedTestFolder

Este comando también devuelve un objeto DirectoryInfo.

Entonces, estas son algunas de las diferentes formas de crear una carpeta en PowerShell. Entonces, ¿cuál de estos cuatro métodos debería usar para crear una carpeta? Bueno, depende de lo que sea mejor para ti. Por ejemplo, si usó la línea de comando para crear carpetas, el método md es probablemente el más fácil. Por otro lado, si desea guardar todo el código como comandos de PowerShell, es mejor usar ItemType. Los otros dos también funcionan bien en diferentes contextos. Por lo tanto, la elección es completamente suya y no afectará el proceso de creación de carpetas.

Esperamos que este artículo haya aclarado tus dudas sobre la creación de archivos y carpetas en PowerShell.

Imagen recomendada: Pixabay



Artículos de interés

Subir