Condividi tramite


Rename-Item

Rinomina un elemento in uno spazio dei nomi del provider PowerShell.

Sintassi

ByPath (impostazione predefinita).

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>]

Descrizione

Il cmdlet Rename-Item modifica il nome di un elemento specificato. Questo cmdlet non influisce sul contenuto dell'elemento da rinominare.

Non è possibile usare Rename-Item per spostare un elemento, ad esempio specificando un percorso insieme al nuovo nome. Per spostare e rinominare un elemento, usare il cmdlet Move-Item.

Esempio

Esempio 1: Rinominare un file

Questo comando rinomina il file daily_file.txt in monday_file.txt.

Rename-Item -Path "C:\logfiles\daily_file.txt" -NewName "monday_file.txt"

Esempio 2: Rinominare e spostare un elemento

Non è possibile usare Rename-Item per rinominare e spostare un elemento. In particolare, non è possibile specificare un percorso per il valore del parametro NewName, a meno che il percorso non sia identico al percorso specificato nel parametro Path. In caso contrario, è consentito solo un nuovo nome.

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"

Questo esempio tenta di rinominare il file di project.txt nella directory corrente in old-project.txt nella directory D:\Archive. Il risultato è l'errore visualizzato nell'output.

Usare invece il cmdlet Move-Item.

Esempio 3: Rinominare una chiave del Registro di sistema

In questo esempio viene rinominata una chiave del Registro di sistema da Advertising a Marketing. Al termine del comando, la chiave viene rinominata, ma le voci di registro nella chiave non vengono modificate.

Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"

Esempio 4: Rinominare più file

In questo esempio vengono rinominati tutti i file di *.txt nella directory corrente in *.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

Il cmdlet Get-ChildItem ottiene tutti i file nella cartella corrente con estensione di file .txt quindi li invia tramite pipe a Rename-Item. Il valore di NewName è un blocco di script eseguito prima dell'invio del valore al parametro newName.

Nel blocco di script, la variabile automatica $_ rappresenta ogni oggetto di file man mano che arriva al comando attraverso la pipeline. Il blocco di script usa l'operatore -replace per sostituire l'estensione di ciascun file con .log. Si noti che la corrispondenza con l'operatore -replace non fa distinzione tra maiuscole e minuscole.

Parametri

-Confirm

Richiede conferma prima di eseguire il cmdlet.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:cfr

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Credential

Annotazioni

Questo parametro non è supportato da alcun provider installato con PowerShell. Per rappresentare un altro utente o elevare le credenziali quando si esegue questo cmdlet, usare Invoke-Command.

Proprietà dei parametri

Tipo:PSCredential
Valore predefinito:Current user
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-Force

Forza il cmdlet a rinominare gli elementi che non possono altrimenti essere modificati, ad esempio file nascosti o di sola lettura o alias o variabili di sola lettura. Il cmdlet non può modificare gli alias o le variabili costanti. L'implementazione varia da provider a provider. Per altre informazioni, consultare about_Providers.

Anche usando il parametro Force, il cmdlet non può eseguire l'override delle restrizioni di sicurezza.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-LiteralPath

Specifica un percorso per una o più posizioni. Il valore di LiteralPath viene utilizzato esattamente come viene digitato. Nessun carattere viene interpretato come metacaratteri. Se il percorso include caratteri di escape, racchiudilo tra virgolette singole. Le virgolette singole indicano a PowerShell di non interpretare alcun carattere come sequenze di escape.

Per altre informazioni, vedere about_Quoting_Rules.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False
Alias:PSPath, UP

Set di parametri

ByLiteralPath
Posizione:Named
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-NewName

Specifica il nuovo nome dell'elemento. Immettere solo un nome, non un percorso e un nome. Se si immette un percorso diverso dal percorso specificato nel parametro Path, Rename-Item genera un errore. Per rinominare e spostare un elemento, usare Move-Item.

Non è possibile usare caratteri jolly nel valore del parametro NewName. Per specificare un nome per più file, usare l'operatore -replace in un'espressione regolare. Per altre informazioni sull'operatore -replace, vedere informazioni sugli operatori di confronto.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:1
Obbligatorio:True
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-PassThru

Restituisce un oggetto che rappresenta l'elemento nella pipeline. Per impostazione predefinita, questo cmdlet non genera alcun output.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

-Path

Specifica il percorso dell'elemento da rinominare.

Proprietà dei parametri

Tipo:String
Valore predefinito:None
Supporta i caratteri jolly:False
DontShow:False

Set di parametri

ByPath
Posizione:0
Obbligatorio:True
Valore dalla pipeline:True
Valore dalla pipeline in base al nome della proprietà:True
Valore dagli argomenti rimanenti:False

-WhatIf

Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.

Proprietà dei parametri

Tipo:SwitchParameter
Valore predefinito:False
Supporta i caratteri jolly:False
DontShow:False
Alias:Wi

Set di parametri

(All)
Posizione:Named
Obbligatorio:False
Valore dalla pipeline:False
Valore dalla pipeline in base al nome della proprietà:False
Valore dagli argomenti rimanenti:False

CommonParameters

Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.

Input

String

È possibile inviare tramite pipe una stringa contenente un percorso a questo cmdlet.

Output

None

Per impostazione predefinita, questo cmdlet non restituisce alcun output.

PSObject

Quando si usa il parametro PassThru, questo cmdlet restituisce un oggetto che rappresenta l'elemento rinominato.

Note

PowerShell include gli alias seguenti per Rename-Item:

  • Tutte le piattaforme:
    • ren
    • rni

Rename-Item è progettato per lavorare con i dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare Get-PSProvider. Per altre informazioni, consultare about_Providers.