Mover archivos y carpetas con PowerShell
- Comprobar si existe un archivo o una carpeta mediante PowerShell
- Creación de archivos y carpetas con PowerShell
- Mover archivos y carpetas con PowerShell
Mover archivos y carpetas es una operación fundamental cuando se utiliza el sistema operativo Windows, o quizás cualquier sistema operativo. Podemos transferir archivos o carpetas uno por uno o en masa simplemente arrastrándolos y soltándolos en nuestra pantalla, pero es posible que debamos considerar la creación de secuencias de comandos si solo necesitamos mover muchos archivos en particular (como archivos con formatos de archivo específicos).
Este artículo analizará varios cmdlets esenciales al mover archivos y directorios mediante secuencias de comandos de PowerShell para la corrección masiva.
Comprobar si existe un archivo o una carpeta mediante PowerShell
El comando Test-Path
es un cmdlet integrado nativo de PowerShell que devuelve True
o False
dependiendo de si existe un archivo o una ruta de directorio. Podemos usar el comando de PowerShell Test-Path
si necesitamos consultar si existe un solo archivo.
Para demostrarlo, cree un archivo (test.txt)
en su directorio de trabajo actual o seleccione cualquier otro archivo existente. Una vez que hayamos seleccionado nuestro archivo de prueba, ejecute el siguiente comando, reemplazando la ruta (C:\Temp\PS) y el nombre del archivo (test.txt)
.
El comando Test-Path
devolverá un valor booleano cuando se ejecute.
Dominio:
Test-Path C:\Temp\PS\test.txt
En el ejemplo anterior, el comando devuelve un valor True
si existe el archivo (test.txt)
. De lo contrario, veremos un valor False
que se muestra en la consola.
Creación de archivos y carpetas con PowerShell
El comando Nuevo elemento
de Windows PowerShell crea archivos y directorios. A continuación se muestran dos ejemplos del uso del cmdlet New-Item
de Windows PowerShell para crear un archivo y una carpeta.
Dominio:
# Create a Folder
New-Item -ItemType 'Directory' -Name 'C:\Temp\PS'
# Create a File
New-Item -ItemType 'File' -Name 'Test.txt' -Path '.\PS'
Mover archivos y carpetas con PowerShell
El comando de movimiento de archivo de PowerShell, cmdlet Move-Item
, funciona para mover archivos o directorios individuales y ofrece capacidades de filtrado para ayudar a transferir contenido rápidamente de una ubicación a la siguiente.
En el siguiente ejemplo, movemos el archivo creado anteriormente, TestFile.txt
, al directorio principal. Usando la sintaxis de ..
para indicar el directorio principal desde la ubicación actual, use el comando Move-Item
de Windows PowerShell para mover el archivo.
Dominio:
Move-Item -Path '.\TestFile.txt' -Destination '..'
No solo podemos mover archivos sino que también podemos mover carpetas usando el comando Move-Item
.
Primero, necesitamos especificar el valor del parámetro -Path
a la carpeta que necesitamos mover. Tenga en cuenta que hemos eliminado la extensión de archivo del parámetro -Path
.
Dominio:
Move-Item -Path '.\PSScripts` -Destination '..'
Tal vez queramos transferir nuestros archivos y carpetas a una carpeta que no sea el padre directo de nuestro directorio de trabajo. Luego, podemos proporcionar el parámetro -Destino
con un directorio personalizado.
Dominio:
Move-Item -Path '.\PSScripts` -Destination 'C:\Temp'
Si la carpeta de destino proporcionada en el parámetro -Destino
no existe, el script arroja un error. La advertencia al usar el cmdlet Move-Item
es que no crea un nuevo directorio si el directorio de destino no existe.
Podemos usar nuestros comandos Test-Path
y New-Item
mencionados anteriormente para solucionar esto. En el siguiente bloque de script, primero verificaremos la ruta de destino para ver si existe.
Si la carpeta no existe, el script la crea primero. Una vez creado, ahora iniciará la transferencia de archivos o carpetas.
Código:
$current_folder = "C:\Temp\PS"
$new_folder = "C:\PS\PSScripts"
if (Test-Path -path $new_folder) {
Move-Item -Path $current_folder -Destination $new_folder
}else{
New-Item -ItemType 'Directory' -Name $new_folder
Move-Item -Path $current_folder -Destination $new_folder
}
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtículo relacionado - PowerShell File
- Almacene el contenido del archivo de texto en variable usando PowerShell
- Consulta de la última hora de escritura del archivo en PowerShell
- Desbloquear archivos usando PowerShell
- Dividir archivo grande en PowerShell
- Leer archivo CSV línea por línea en PowerShell
- Buscar archivos con extensión en PowerShell