Búsqueda de sitios web

Cambiar nombre de elemento de PowerShell | Proceso para cambiar el nombre del elemento en Power Shell


Introducción al cambio de nombre de elemento de PowerShell

El cmdlet rename-Item en PowerShell cambia el nombre de elementos como archivos, carpetas, registro, certificados, etc. Este cmdlet cambia el nombre de los elementos pero no su contenido real o no puede moverlos a una ubicación diferente.

Sintaxis:

Rename-Item
[-Path] <String>
[-LiteralPath] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTranscation]
[<CommonParameters>]

Parámetros en PowerShell Rename-Item

Los siguientes son los parámetros para el elemento de cambio de nombre de PowerShell:

  • Ruta: Ruta de origen del elemento. Esta ruta debe estar en formato de cadena y debe ser idéntica. Puede especificar un carácter comodín (*), pero la ruta debe resolver solo un elemento en lugar de varios elementos.
  • NewName: nombre del archivo de destino. De forma predeterminada, tomará la misma ruta de origen; especificar explícitamente diferentes rutas generará un error. No puede utilizar un carácter comodín (*) en un nombre nuevo. Es posible cambiar el nombre de varios archivos y extensiones.
  • Forzar: cambia el nombre de los elementos que no se pueden cambiar. Para archivos o carpetas que son de solo lectura u ocultos, este parámetro les permite cambiarles el nombre con fuerza. Este parámetro no puede cambiar el alias constante ni la variable.
  • PassThru: De forma predeterminada, Rename-Object no genera ningún resultado. Este parámetro permite que la salida se muestre en la consola.
  • Credencial: si su elemento de destino está en un dominio o grupo de trabajo diferente, puede usar este parámetro para conectar la ruta de destino con credenciales diferentes.
  • Qué pasa: Este parámetro se utiliza para notificar qué operación se realizará si este comando se ejecuta sin ejecutarlo realmente.
  • LiteralPath: este parámetro también especifica la ruta de un elemento cuyo nombre se va a cambiar. Ningún carácter se interpreta como comodín. Si la ruta incluye un carácter único, debe ir entre comillas simples para que PowerShell no interprete ningún carácter como secuencias de escape.
  • Confirmar: este parámetro avisa al usuario antes de realizar la operación de cambio de nombre en el elemento.
  • UseTranscation: Este parámetro incluye el comando en la transacción activa. Este parámetro es válido sólo cuando la transacción está en curso.
  • : Los siguientes parámetros son compatibles con parámetros comunes. ErrorAction, ErrorVariable, AdvertenciaAction, AdvertenciaVariablem OutBuffer, PipelineVariable y OutVariable.

Ejemplos para implementar PowerShell Rename-Item

A continuación se muestra el ejemplo de implementación en PowerShell Rename-Item:

Ejemplo n.º 1: cambiar el nombre del elemento

Código:

Rename-Item D:\Temp\Putty.log -NewName Putty1.log

En el ejemplo anterior, cuando no proporciona la ruta de destino para cambiar el nombre del archivo, de forma predeterminada, tomará la misma ruta de origen. También puede cambiar el nombre de los elementos sin especificar el parámetro -Newname. Para hacerlo, proporcione el espacio entre los nombres antiguos y nuevos. Por ejemplo,

Rename-Item D:\Temp\Putty.log Putty1.log

También puede cambiar el nombre de la carpeta, como se muestra a continuación.

Rename-Item D:\Temp -NewName Temp1

Ejemplo n.º 2: cambiar el nombre del elemento con el parámetro Passthru

Para verificar la salida del comando en la consola, use el parámetro -Passthru.

Código:

Rename-Item D:\Temp\Putty.log -NewName Putty1.log -PassThru

Salida:

Proporcionar una ruta de destino diferente generará un error porque este cmdlet no puede realizar la operación de movimiento.

Rename-Item D:\Temp\putty.log -NewName D:\putty1.log -PassThru

Salida:

Ejemplo n.º 3: cambiar el nombre de ChildItem con el parámetro Whatif

Cuando use el parámetro whatif, le mostrará la acción que se realizará el comando sin ejecutar el comando.

Rename-Item D:\Temp\cars.xml -NewName cars1.xml -PassThru -WhatIf

Salida:

Ejemplo n.º 4: cambiar el nombre de ChildItem con el parámetro Confirmar

Este parámetro solicitará la confirmación del usuario antes de cambiar el nombre del elemento.

Código:

Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm

Salida:

También puede proporcionar el valor $true o $false para confirmar el parámetro. Cuando se proporciona el valor $true, se solicitará la confirmación del usuario. Cuando se proporciona su valor $false, no solicitará la confirmación del usuario ni cambiará el nombre directamente del elemento, y esta es la opción predeterminada en el parámetro -confirm.

Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm:$true
Rename-Item D:\Temp\cars.xml -NewName cars1.xml -Confirm:$false

° 5: cambiar el nombre del valor del registro

Al igual que cambiar el nombre de archivos, también puede cambiar el nombre de los valores del registro.

Código:

Rename-Item HKLM:\SYSTEM\CurrentControlSet\Control\test -NewName Test2
Rename-Item HKLM:\SECURITY\Policy\Data -NewName Data1

° 6: cambiar el nombre de la extensión de varios archivos con Rename-Item

Para cambiar el nombre de la extensión de varios archivos, puede usar el siguiente comando para reemplazarlos.

Código:

PS C:\WINDOWS\system32> Get-ChildItem D:\Temp\* -Include *.html | Rename-Item -NewName {$_.Name -replace '.html','.htm'} -PassThru

Para cambiar el nombre de varios archivos o carpetas, debe utilizar el bucle.

Salida:

Conclusión

Rename-Item es una excelente herramienta para cambiar el nombre de uno o varios archivos, extensiones, carpetas, registro, etc. Pero no puede mover ni copiar los archivos. Para ellos, existen diferentes cmdlets disponibles.

Artículos relacionados