Rename-Item
Cambia el nombre de un elemento en un espacio de nombres del proveedor de PowerShell.
Sintaxis
ByPath (Es el valor predeterminado).
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
ByLiteralPath
Rename-Item
[-NewName] <String>
-LiteralPath <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Rename-Item cambia el nombre de un elemento especificado. Este cmdlet no afecta al contenido del elemento al que se va a cambiar el nombre.
No puede usar Rename-Item para mover un elemento, por ejemplo, especificando una ruta de acceso junto con el nuevo nombre. Para mover y cambiar el nombre de un elemento, use el cmdlet Move-Item.
Ejemplos
Ejemplo 1: Cambiar el nombre de un archivo
Este comando cambia el nombre del archivo daily_file.txt a monday_file.txt.
Rename-Item -Path "C:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Ejemplo 2: Cambiar el nombre y mover un elemento
No puede usar Rename-Item para cambiar el nombre y mover un elemento. En concreto, no se puede proporcionar una ruta de acceso para el valor del parámetro NewName, a menos que la ruta de acceso sea idéntica a la ruta especificada en el parámetro Path de. De lo contrario, solo se permite un nuevo nombre.
Rename-Item -Path "project.txt" -NewName "D:\archive\old-project.txt"
Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<< -Path project.txt -NewName D:\archive\old-project.txt
+ CategoryInfo : InvalidArgument: (:) [Rename-Item], PS> Move-Item -Path "project.txt" -De
stination "D:\archive\old-project.txt"
En este ejemplo se intenta cambiar el nombre del archivo project.txt del directorio actual a old-project.txt en el directorio D:\Archive. El resultado es el error que se muestra en la salida.
Use el cmdlet Move-Item en su lugar.
Ejemplo 3: Cambiar el nombre de una clave del Registro
En este ejemplo se cambia el nombre de una clave del Registro de Advertising a Marketing. Una vez completado el comando, se cambia el nombre de la clave, pero las entradas del Registro de la clave no cambian.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Ejemplo 4: Cambiar el nombre de varios archivos
En este ejemplo se cambia el nombre de todos los archivos de *.txt del directorio actual a *.log.
Get-ChildItem *.txt
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.TXT
-a---- 10/3/2019 7:46 AM 2918 Monday.Txt
-a---- 10/3/2019 7:47 AM 2918 Wednesday.txt
Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log
Directory: C:\temp\files
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a---- 10/3/2019 7:47 AM 2918 Friday.log
-a---- 10/3/2019 7:46 AM 2918 Monday.log
-a---- 10/3/2019 7:47 AM 2918 Wednesday.log
El cmdlet Get-ChildItem obtiene todos los archivos de la carpeta actual que tienen una extensión de archivo .txt y, a continuación, los canaliza a Rename-Item. El valor de NewName es un bloque de script que se ejecuta antes de enviar el valor al parámetro NewName.
En el bloque de scripts, la variable automática $_ representa cada objeto de archivo tal como llega al comando a través de la canalización. El bloque de script usa el operador -replace para reemplazar la extensión de archivo de cada archivo por .log. Observe que la coincidencia con el operador -replace no distingue mayúsculas de minúsculas.
Parámetros
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | 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.
Propiedades del parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | Current user |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-Force
Obliga al cmdlet a cambiar el nombre de los elementos que, de lo contrario, no se pueden cambiar, como archivos ocultos o de solo lectura o alias o variables de solo lectura. El cmdlet no puede cambiar alias o variables constantes. La implementación varía de proveedor a proveedor. Para obtener más información, consulte about_Providers.
Incluso con el parámetro Force, el cmdlet no puede invalidar las restricciones de seguridad.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-LiteralPath
Especifica una ruta de acceso a una o varias ubicaciones. El valor de LiteralPath se usa tal como está escrito. 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 sobre_las_normas_de_citación.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | PSPath, LP |
Conjuntos de parámetros
ByLiteralPath
| Posición: | Named |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-NewName
Especifica el nuevo nombre del elemento. Escriba sólo un nombre, no una ruta de acceso y un nombre. Si introduces una ruta de acceso que difiere de la ruta especificada en el parámetro Path, Rename-Item genera un error.
Para cambiar el nombre y mover un elemento, use Move-Item.
No puede usar caracteres comodín en el valor del parámetro NewName. Para especificar un nombre para varios archivos, use el operador -replace en una expresión regular. Para obtener más información sobre el operador -replace, consulte about_Comparison_Operators.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Mandatory: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-PassThru
Devuelve un objeto que representa el elemento a la canalización. De forma predeterminada, este cmdlet no genera ninguna salida.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Path
Especifica la ruta de acceso del elemento al que se va a cambiar el nombre.
Propiedades del parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
ByPath
| Posición: | 0 |
| Mandatory: | True |
| Valor de la canalización: | True |
| Valor de la canalización por nombre de propiedad: | True |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades del parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Mandatory: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
String
Puede enviar 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 cuyo nombre ha cambiado.
Notas
PowerShell incluye los siguientes alias para Rename-Item:
- Todas las plataformas:
renrni
Rename-Item 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.