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]
[-UseTransaction]
[<CommonParameters>]
ByLiteralPath
Rename-Item
[-NewName] <String>
-LiteralPath <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<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 |
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 |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per altre informazioni, vedere about_Transactions.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | usetx |
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 |
-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
Windows PowerShell include gli alias seguenti per Rename-Item:
renrni
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.