Búsqueda de sitios web

PowerShell Cambiar nombre de carpeta | Ejemplos de cambio de nombre de carpeta de PowerShell


Introducción a PowerShell Cambiar nombre de carpeta

En PowerShell, cambiar el nombre de un elemento, como una carpeta o un nombre de archivo, se logra con la ayuda del cmdlet Rename-Item. Simplemente cambia el artículo y no el contenido del artículo. Esto es diferente a mover el elemento y no se puede usar para mover el elemento. La carpeta/elemento cuyo nombre se está cambiando debe estar presente; de lo contrario, el cmdlet generará un error. Esto también se puede utilizar para cambiar el nombre de varios elementos/carpetas simultáneamente. El artículo cubrirá en detalle los diversos parámetros asociados con el cmdlet Rename-Item, su uso y cómo funciona el cambio de nombre en PowerShell.

Sintaxis y parámetros

La siguiente es la sintaxis del cmdlet Rename-Item:

NAME
Rename-Item
SYNTAX
Rename-Item [-Path] <string> [-NewName] <string> [-Force] [-PassThru] [-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction]  [<CommonParameters>]
Rename-Item [-NewName] <string> -LiteralPath<string> [-Force] [-PassThru] [-Credential <pscredential>] [-WhatIf] [-Confirm] [-UseTransaction]  [<CommonParameters>]
ALIASES
rni
ren

Ejemplo:

Rename-Item -Path "c:\test\test1.txt" -NewName "test2.txt"
The above cmdlet will rename the file test1.txt to test2.txt without altering the content
Rename-Item -Path "c:\test\" -NewName "test2"
The above cmdlet will rename the folder test to test2

Parámetros:

  • Confirmar: esto se utiliza para obtener la confirmación del usuario antes de ejecutar el cmdlet. Es un parámetro opcional. Su valor predeterminado es falso y su tipo es parámetro de cambio. El alias para este parámetro es cf. El valor predeterminado es falso. No acepta caracteres de canalización como entrada y tampoco se aceptan caracteres comodín.
  • Credencial: tiene como finalidad suplantar o elevar la cuenta en la que se ejecuta el cmdlet. Para usar esto, se debe usar el comando invocar y no es compatible con ningún proveedor instalado en PowerShell. Su tipo es Credencial PS. Su valor predeterminado es usuario actual. Acepta entradas de canalización pero no acepta caracteres comodín.
  • Forzar: las carpetas o elementos ocultos o las carpetas o elementos de solo lectura no se pueden cambiar de nombre a menos que los parámetros de fuerza se mencionen explícitamente en el cmdlet rename-item. Tampoco se puede cambiar el nombre de las variables constantes y los alias. Las restricciones de seguridad aún se mantienen aunque se utilice el parámetro de fuerza. Su tipo es parámetro de cambio. Su valor predeterminado es falso. No acepta caracteres de canalización como entrada y tampoco se aceptan caracteres comodín.
  • Ruta literal: Esto denota o representa la ruta del elemento o elementos cuyo nombre se va a cambiar. El valor que se escribe como valor literal. Ninguno de los personajes se interpreta como comodín. En caso de que la ruta contenga caracteres de escape, debe incluirse entre comillas simples para informar a PowerShell que no la interprete como una secuencia de escape. Este es un parámetro obligatorio.
  • -NewName: Esto indica el nuevo nombre del elemento al que se le debe cambiar el nombre. Sólo se debe introducir un nombre y no una ruta. El cmdlet comprenderá si se debe cambiar el nombre de una ruta o de un archivo. No se aceptan comodines. Se debe utilizar el operador Reemplazar cuando se va a cambiar el nombre de varios elementos. Su tipo es cuerda. El valor predeterminado es ninguno. Acepta entradas de canalización, pero no se aceptan caracteres comodín.
  • PassThru: Esto no genera ninguna entrada. Se utiliza para devolver artículos a la tubería. Es un parámetro opcional. Su tipo es parámetro de cambio. Su valor predeterminado es falso. No acepta caracteres de canalización como entrada y tampoco se aceptan caracteres comodín.
  • Ruta: Este es un parámetro obligatorio. Indica la ruta del elemento cuyo nombre se va a cambiar. Su tipo es cuerda. Su valor predeterminado es ninguno. Se acepta la entrada de canalización, pero no se consideran los caracteres comodín.
  • Qué pasaría si: Esto no produce ningún resultado. Simplemente muestra lo que sucederá si se ejecuta el cmdlet. Su tipo es parámetro de cambio. Su alias es wi. Su valor predeterminado es falso. No acepta caracteres de canalización como entrada y tampoco se aceptan caracteres comodín.

El cmdlet rename-item solo admite proveedores que están expuestos. Para encontrar la lista de proveedores disponibles en nuestra sesión, ejecute el siguiente cmdlet.

Entrada:

Get-PsProvider

Salida:

Lista de proveedores en la sesión actual de PowerShell

Name Capabilities Drives
Registry ShouldProcess, Transactions {HKLM, HKCU}
Alias ShouldProcess {Alias}
Environment ShouldProcess {Env}
FileSystem Filter, ShouldProcess, Credentials {C}
Function ShouldProcess {Function}
Variable ShouldProcess {Variable}

Ejemplos de cambio de nombre de carpeta de PowerShell

A continuación se muestran los ejemplos que se dan a continuación:

Ejemplo #1

Entrada:

Write-Host "Welcome to the demo of renaming folder"
write-host "Renaming Test1 to test9 in the below example"
Write-Host "List of Folders before renaming"
Get-ChildItem -Path C:\Vignesh\Test
Rename-Item -Path C:\Vignesh\Test\Test1 -NewName Test9
Write-Host "Renaming completed successfully"
Write-Host "List of folders after renaming"
Get-ChildItem -Path C:\Vignesh\Test
Write-Host "Renaming a file"
Write-Host "File name before renaming"
Get-ChildItem -Path C:\Vignesh\Test\Actual1239
Write-Host "After Renaming"
Rename-Item -Path C:\Vignesh\Test\Test9\test.txt -NewNameactual.txt
Get-ChildItem -Path C:\Vignesh\Test\Actual1239

Salida:

Ejemplo #2

Entrada:

write-host "Welcome to the demo of bulk renaming of folders and files"
Write-Host "Renaming multiple folders at once"
Write-Host "before renaming the folders names are as below"
Get-ChildItem -Path C:\Vignesh\Test
Get-ChildItem C:\Vignesh\Test -Recurse | Rename-Item -NewName{ $_.name -replace 'Actual', 'Actual123'}
Write-Host "After renaming the folders"
Write-Host "Now the folders name are as below"
Get-ChildItem -Path C:\Vignesh\Test
Write-Host "Renaming txt files to doc"
Write-Host "Before Renaming the files are as below"
Get-ChildItem C:\Vignesh\Test\Actual1239
Write-Host "Renaming all txt files to log"
Get-ChildItem C:\Vignesh\Test\Actual1239 | Rename-Item -NewName{ $_.Name -replace '.txt','.log' }
Write-Host "After renaming"
Get-ChildItem C:\Vignesh\Test\Actual1239

Ejemplo #3

Entrada:

Write-Host "Moving folders within a directory to another directory"
Write-Host "Before moving the list of files in the source directory is"
Get-ChildItem  C:\Vignesh\Script
Write-Host "List of files in destination directory"
Get-ChildItem C:\Vignesh\Test
Write-Host "Moving the folders from script to test"
Get-ChildItem -Path C:\Vignesh\Script | Move-Item -Destination C:\Vignesh\Test
Write-Host "Folders moved successfully"
Write-Host "Folders now in source"
Get-ChildItem  C:\Vignesh\Script
Write-Host "Folders now in Destination"
Get-ChildItem  C:\Vignesh\Test
Write-Host "Renaming file name with todays date and time"
Write-Host "File names before renamin"
Get-ChildItem C:\Vignesh\Test\Actual1239
$curDateTime = Get-Date -Format yyyyMMdd-HHmmss
Get-ChildItemC:\Vignesh\Test\Actual1239  -Recurse |
Rename-Item -NewName {$_.Basename + '_' + $curDateTime + $_.Extension }
Write-Host "File names after renaming"
Get-ChildItem C:\Vignesh\Test\Actual1239

Salida:

Conclusión

Por lo tanto, el artículo cubrió en detalle el cmdlet Rename-Item. Se puede utilizar para cambiar el nombre de carpetas, archivos o cualquier elemento. El artículo también demostró secuencias de comandos de ejemplo apropiadas sobre cómo cambiar el nombre de un solo archivo, una sola carpeta, varios archivos, varias carpetas y cómo se puede agregar la fecha de hoy a un nombre de archivo. Para obtener más información sobre este cmdlet en detalle, es recomendable escribir scripts de muestra y practicarlos.

Artículos relacionados