Compartir a través de


Move-Item

Mueve un elemento de una ubicación a otra.

Sintaxis

Move-Item
    [-Path] <String[]>
    [[-Destination] <String>]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]
Move-Item
    -LiteralPath <String[]>
    [[-Destination] <String>]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

El Move-Item cmdlet mueve un elemento, incluidas sus propiedades, contenido y elementos secundarios, de una ubicación a otra. Las ubicaciones deben ser compatibles con el mismo 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.

Ejemplos

Ejemplo 1: Mover un archivo a otro directorio y cambiar su nombre

Este comando mueve el Test.txt archivo de la C: unidad al E:\Temp directorio y lo cambia de test.txt a tst.txt.

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

Ejemplo 2: Mover un directorio y su contenido a otro directorio

Este comando mueve el C:\Temp directorio y su contenido al C:\Logs directorio. El Temp directorio y todos sus subdirectorios y archivos, a continuación, aparecen en el Logs directorio .

Move-Item -Path C:\Temp -Destination C:\Logs

Ejemplo 3: Mover todos los archivos de una extensión especificada del directorio actual a otro directorio

Este comando mueve todos los archivos de texto (*.txt) del directorio actual (representado por un punto (.)) al C:\Logs directorio.

Move-Item -Path .\*.txt -Destination C:\Logs

Ejemplo 4: Mover recursivamente todos los archivos de una extensión especificada desde el directorio actual a otro directorio

Este comando mueve todos los archivos de texto desde el directorio actual y todos los subdirectorios, recursivamente, al C:\TextFiles directorio .

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

El comando usa el Get-ChildItem cmdlet para obtener todos los elementos secundarios del directorio actual (representados por el punto (.)) y sus subdirectorios que tienen una *.txt extensión de nombre de archivo. Usa el parámetro Recurse para que la recuperación sea recursiva y el parámetro Include para limitar la recuperación a *.txt los archivos.

El operador de canalización (|) envía los resultados de este comando a Move-Item, que mueve los archivos de texto al TextFiles directorio.

Si los archivos que se van a mover tienen C:\Textfiles el mismo nombre, Move-Item muestra un error y continúa, pero solo mueve un archivo con cada nombre a C:\Textfiles. Los demás archivos permanecerán en sus directorios originales.

Si el Textfiles directorio (o cualquier otro elemento de la ruta de acceso de destino) no existe, se produce un error en el comando. El directorio que falta no se crea automáticamente, aunque use el parámetro Force . Move-Item mueve el primer elemento a un archivo llamado Textfiles y, a continuación, muestra un error que explica que el archivo ya existe.

Además, de forma predeterminada, Get-ChildItem no mueve archivos ocultos. Para mover archivos ocultos, use el parámetro Force con Get-ChildItem.

Nota:

En Windows PowerShell 2.0, cuando se usa el parámetro Recurse del Get-ChildItem cmdlet, el valor del parámetro Path debe ser un contenedor. Use el parámetro Include para especificar el filtro de extensión de *.txt nombre de archivo (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

Ejemplo 5: Traslado de claves y valores del Registro a otra clave

Este comando mueve las claves y los valores del Registro dentro de la clave del MyCompany Registro a HKLM\Software la MyNewCompany clave. El carácter comodín (*) indica que se debe mover el contenido de la MyCompany clave, no la propia clave. En este comando, se omiten los nombres de parámetros de ruta de acceso y destino opcionales.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

Ejemplo 6: Mover un directorio y su contenido a un subdirectorio del directorio especificado

Este comando mueve el Logs[Sept`06] directorio (y su contenido) al Logs[2006] directorio .

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

El parámetro LiteralPath se usa en lugar de Path, ya que el nombre del directorio original incluye el corchete izquierdo y los caracteres del corchete derecho ([ y ]). La ruta de acceso también se incluye entre comillas simples ('), por lo que el símbolo de la barra diagonal (`) no está malinterpretado.

El parámetro Destination también debe incluirse entre comillas simples porque incluye corchetes que se pueden interpretar incorrectamente.

Parámetros

-Confirm

Le solicita su confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Nota:

Este parámetro no es compatible con ningún proveedor instalado con PowerShell. Para suplantar a otro usuario o elevar las credenciales al ejecutar este cmdlet, use Invoke-Command.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Destination

Especifica la ruta de acceso a la ubicación a la que se están moviendo los elementos. El valor predeterminado es el directorio actual. No se permiten caracteres comodín.

Para cambiar el nombre del elemento que se va a mover, especifique un nuevo nombre en el valor del parámetro Destination .

Tipo:String
Posición:1
Valor predeterminado:Current directory
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Exclude

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet excluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín. El parámetro Exclude solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Filter

Especifica un filtro para calificar el parámetro Path . El proveedor FileSystem es el único proveedor de PowerShell instalado que admite el uso de filtros. Puede encontrar la sintaxis del lenguaje de filtro FileSystem en about_Wildcards. Los filtros son más eficaces que otros parámetros, ya que el proveedor los aplica cuando el cmdlet obtiene los objetos en lugar de que PowerShell filtre los objetos una vez recuperados.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-Force

Obliga al comando a ejecutarse sin solicitar la confirmación del usuario. La implementación varía en función del proveedor. Para obtener más información, consulte about_Providers.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Include

Especifica, como matriz de cadenas, un elemento o elementos que este cmdlet incluye en la operación. El valor de este parámetro califica el parámetro Path . Escriba un elemento o patrón de ruta de acceso, como *.txt. Se permite el uso de caracteres comodín. El parámetro Include solo es efectivo cuando el comando incluye el contenido de un elemento, como C:\Windows\*, donde el carácter comodín especifica el contenido del C:\Windows directorio.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:True

-LiteralPath

Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa exactamente como se escribe. Ninguno de los caracteres se interpreta como caracteres comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples ('). Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Para obtener más información, consulte about_Quoting_Rules.

Tipo:String[]
Alias:PSPath, LP
Posición:Named
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PassThru

Devuelve un objeto que representa el elemento movido. De forma predeterminada, este cmdlet no genera ningún resultado.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Path

Especifica la ruta de acceso a la ubicación actual de los elementos. El valor predeterminado es el directorio actual. Se permite el uso de caracteres comodín.

Tipo:String[]
Posición:0
Valor predeterminado:Current directory
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-WhatIf

Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

String

Puede canalizar una cadena que contenga una ruta de acceso a este cmdlet.

Salidas

None

De forma predeterminada, este cmdlet no devuelve ninguna salida.

PSObject

Cuando se usa el parámetro PassThru , este cmdlet devuelve un objeto que representa el elemento movido.

Notas

PowerShell incluye los siguientes alias para Move-Item:

  • Todas las plataformas:

    • mi
    • move
  • Windows:

    • mv
  • Este cmdlet moverá los archivos entre unidades compatibles con el mismo proveedor, pero solo moverá directorios dentro de la misma unidad.

  • Dado que un Move-Item comando mueve las propiedades, el contenido y los elementos secundarios de un elemento, todos los movimientos son recursivos de forma predeterminada.

  • Este cmdlet está diseñado para trabajar con los datos expuestos por cualquier proveedor. Para enumerar los proveedores disponibles en la sesión, escriba Get-PSProvider. Para obtener más información, consulte about_Providers.