Move-Item
Mueve un elemento de una ubicación a otra.
Sintaxis
Move-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Move-Item [-Path] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Descripción
El cmdlet Move-Item mueve un elemento, incluidas sus propiedades, su contenido y los elementos secundarios, de una ubicación a otra. Ambas ubicaciones deben ser compatibles con el proveedor. Por ejemplo, puede mover un archivo o un subdirectorio de un directorio a otro, o mover una subclave del Registro de una clave a otra. Cuando se mueve un elemento, se agrega a la nueva ubicación y se elimina de la ubicación original.
Parámetros
-Credential <PSCredential>
Especifica una cuenta de usuario con permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como "Usuario01" o "Dominio01\Usuario01", o bien, escriba un objeto PSCredential, como uno generado por el cmdlet Get-Credential. Si escribe un nombre de usuario se le pedirá una contraseña.
Este parámetro no es compatible con los proveedores que se instalan con Windows PowerShell.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Destination <string>
Especifica la ruta de la ubicación de destino de los elementos que se van a mover. La ubicación predeterminada es el directorio actual. Se permite el uso de caracteres comodín, pero el resultado debe especificar una sola ubicación.
Para cambiar el nombre del elemento que se va a mover, especifique un nombre nuevo en el valor del parámetro Destination.
¿Requerido? |
false |
¿Posición? |
2 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Exclude <string[]>
Omite los elementos especificados. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Filter <string>
Especifica un filtro en el formato o lenguaje del proveedor. El valor de este parámetro califica el parámetro Path. La sintaxis del filtro, incluido el uso de caracteres comodín, depende del proveedor. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica al recuperar los objetos en lugar de hacer que Windows PowerShell filtre los objetos después de recuperarlos.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Force
Permite al cmdlet mover un elemento que escribe sobre un elemento de solo lectura existente. La implementación varía según el proveedor. Para obtener más información, vea about_Providers. Incluso si se usa el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Include <string[]>
Mueve únicamente los elementos especificados. El valor de este parámetro califica el parámetro Path. Escriba un patrón o un elemento de la ruta de acceso, como "*.txt". Se permite el uso de caracteres comodín.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-LiteralPath <string[]>
Especifica la ruta de la ubicación actual de los elementos. A diferencia de Path, el valor de LiteralPath se usa literalmente como se escribe. Ningún carácter se interpretará como un carácter comodín. Si la ruta incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a Windows PowerShell que no debe interpretar los caracteres como secuencias de escape.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-PassThru
Pasa a la canalización un objeto que representa el elemento. De forma predeterminada, este cmdlet no genera resultados.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-Path <string[]>
Especifica la ruta de la ubicación actual de los elementos. La ubicación predeterminada es el directorio actual. Se permite el uso de caracteres comodín.
¿Requerido? |
true |
¿Posición? |
1 |
Valor predeterminado |
|
¿Aceptar canalización? |
true (ByValue, ByPropertyName) |
¿Aceptar caracteres comodín? |
false |
-Confirm
Solicita confirmación antes de ejecutar el comando.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-WhatIf
Describe lo que ocurriría si ejecutara el comando sin ejecutarlo realmente.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
-UseTransaction
Incluye el comando en la transacción activa. Este parámetro sólo es válido cuando hay una transacción en curso. Para obtener más información, vea about_Transactions.
¿Requerido? |
false |
¿Posición? |
named |
Valor predeterminado |
|
¿Aceptar canalización? |
false |
¿Aceptar caracteres comodín? |
false |
<CommonParameters>
Este cmdlet admite los parámetros comunes: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer y -OutVariable. Para obtener más información, vea about_Commonparameters.
Entradas y salidas
El tipo de entrada es el tipo de los objetos que se pueden canalizar al cmdlet. El tipo devuelto es el tipo de los objetos que el cmdlet devuelve.
Entradas |
System.String Puede canalizar una cadena que contiene una ruta de acceso a Move-Item. |
Salidas |
Ninguno o un objeto que representa el elemento movido. Cuando se usa el parámetro Passthru, Move-Item genera un objeto que representa el elemento movido. En caso contrario, este cmdlet no genera resultados. |
Notas
Move-Item moverá archivos entre unidades admitidas por el mismo proveedor, pero moverá directorios sólo dentro de una misma unidad.
Como un comando Move-Item mueve las propiedades, el contenido y los elementos secundarios de un elemento, todas las operaciones de traslado son recursivas de forma predeterminada.
También puede hacer referencia a Move-Item mediante sus alias integrados "move", "mv" y "mi". Para obtener más información, vea about_Aliases.
El cmdlet Move-Item está diseñado para funcionar con los datos expuestos por cualquier proveedor. Para mostrar los proveedores que están disponibles en la sesión, escriba "Get-PsProvider". Para obtener más información, vea about_Providers.
Ejemplo 1
C:\PS>move-item -path C:\test.txt -destination E:\Temp\tst.txt
Descripción
-----------
Este comando mueve el archivo Test.txt desde la unidad C: al directorio E:\Temp y le cambia el nombre de "test.txt" a "tst.txt".
Ejemplo 2
C:\PS>move-item -path C:\Temp -destination C:\Logs
Descripción
-----------
Este comando mueve el directorio C:\Temp y su contenido al directorio C:\Logs. Una vez ejecutado, el directorio Temp y todos sus subdirectorios y archivos aparecerán en el directorio Logs.
Ejemplo 3
C:\PS>move-item -path .\*.txt -destination C:\Logs
Descripción
-----------
Este comando mueve todos los archivos de texto (*.txt) del directorio actual (representado por un punto (.)) al directorio C:\Logs.
Ejemplo 4
C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles
Descripción
-----------
Este comando mueve recursivamente todos los archivos de texto del directorio actual y todos sus subdirectorios al directorio C:\TextFiles.
El comando usa el cmdlet Get-ChildItem para obtener todos los elementos secundarios con la extensión de nombre de archivo *.txt del directorio actual (representado por el punto [.]) y sus subdirectorios. Usa el parámetro Recurse para que la recuperación sea recursiva y el parámetro Include para limitar la recuperación a archivos *.txt.
El operador de canalización (|) envía los resultados de este comando a Move-Item, que mueve los archivos de texto al directorio TextFiles.
Si los archivos que se mueven a C:\Textfiles tienen el mismo nombre, Move-Item mostrará un mensaje de error y continuará la operación, pero solamente moverá a C:\Textfiles un archivo para cada nombre. Los otros archivos permanecerán en sus directorios originales.
Si el directorio Textfiles (o cualquier otro elemento de la ruta de acceso de destino) no existe, se produce un error al ejecutar el comando. El directorio que falta no se crea automáticamente, aunque se utilice el parámetro Force. Move-Item mueve el primer elemento a un archivo denominado "Textfiles" y, a continuación, muestra un mensaje de error que explica que el archivo ya existe.
Asimismo, de forma predeterminada, Get-ChildItem no mueve archivos ocultos. Para mover archivos ocultos hay que usar el parámetro Force con Get-ChildItem.
Ejemplo 5
C:\PS>move-item hklm:\software\mycompany\* hklm:\software\mynewcompany
Descripción
-----------
Este comando mueve las claves y los valores de la clave MyCompany del Registro ubicada en HKLM\Software a la clave MyNewCompany. El carácter comodín (*) indica que se debe mover el contenido de la clave MyCompany, no la clave. En este comando se omiten los nombres de parámetro opcionales Path y Destination.
Ejemplo 6
C:\PS>move-item -literalpath 'Logs[Sept`06]' -destination 'Logs[2006]'
Descripción
-----------
Este comando mueve el directorio Logs[Sept`06] (y su contenido) al directorio Logs[2006].
Se usa el parámetro LiteralPath en lugar de Path, ya que el nombre de directorio original incluye corchetes de apertura y cierre ("[" y "]"). La ruta también se escribe entre comillas simples (' ') para que no se malinterprete el símbolo de acento grave (`).
El parámetro Destination no requiere una ruta literal, ya que la variable de destino también debe escribirse entre comillas simples, ya que incluye corchetes que pueden malinterpretarse.
Vea también
Conceptos
about_Providers
Clear-Item
Get-Item
Invoke-Item
Set-Item
New-Item
Remove-Item
Rename-Item
Copy-Item