Rename-Item
Rinomina un elemento in uno spazio dei nomi di provider di Windows PowerShell.
Sintassi
Rename-Item [-Path] <string> [-NewName] <string> [-Credential <PSCredential>] [-Force] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]
Descrizione
Con il cmdlet Rename-Item viene modificato il nome di un elemento specificato. Questo cmdlet non ha effetto sul contenuto dell'elemento da rinominare.
Non è possibile utilizzare Rename-Item per spostare un elemento, ad esempio specificando un percorso con il nuovo nome. Per spostare e rinominare un elemento, utilizzare il cmdlet Move-Item.
Parametri
-Credential <PSCredential>
Specifica un account utente con autorizzazione per l'esecuzione di questa azione. Il valore predefinito è l'utente corrente.
Digitare un nome utente, ad esempio "Utente01" o "Dominio01\Utente01", o immettere un oggetto PSCredential, ad esempio uno generato dal cmdlet Get-Credential. Se si digita un nome utente, viene richiesta una password.
Questo parametro non è supportato dai provider installati con Windows PowerShell.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-Force
Consente al cmdlet di rinominare elementi che non possono essere modificati in altro modo, ad esempio file nascosti o di sola lettura, alias di sola lettura o variabili. Il cmdlet non può cambiare gli alias o le variabile costanti. L'implementazione varia a seconda del provider. Per ulteriori informazioni, vedere about_Providers. Quando si utilizza il parametro Force, il cmdlet non può ignorare le limitazioni di sicurezza.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-NewName <string>
Specifica il nuovo nome dell'elemento. Immettere solo un nome, non un percorso e un nome. Se si immette un percorso diverso da quello specificato nel parametro Path, Rename-Item genera un errore. Per rinominare e spostare un elemento, utilizzare il cmdlet Move-Item.
Non è possibile utilizzare i caratteri jolly nel valore di NewName. Per specificare un nome per più file, utilizzare l'operatore Replace in un'espressione regolare. Per ulteriori informazioni sull'operatore Replace, digitare "Get-Helpabout_Comparison_Operators". Per una dimostrazione, vedere gli esempi.
Obbligatorio? |
true |
Posizione? |
2 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByPropertyName) |
Accettare caratteri jolly? |
false |
-PassThru
Passa un oggetto che rappresenta l'elemento alla pipeline. Per impostazione predefinita, il cmdlet non genera alcun output.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-Path <string>
Specifica il percorso dell'elemento da rinominare.
Obbligatorio? |
true |
Posizione? |
1 |
Valore predefinito |
|
Accettare input da pipeline? |
true (ByValue, ByPropertyName) |
Accettare caratteri jolly? |
false |
-Confirm
Chiede una conferma prima di eseguire il comando.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-WhatIf
Descrive ciò che accadrebbe se si eseguisse il comando senza eseguirlo realmente.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
-UseTransaction
Include il comando nella transazione attiva. Questo parametro è valido solo quando è in corso una transazione. Per ulteriori informazioni, vedere about_Transactions.
Obbligatorio? |
false |
Posizione? |
named |
Valore predefinito |
|
Accettare input da pipeline? |
false |
Accettare caratteri jolly? |
false |
<CommonParameters>
Questo cmdlet supporta i parametri comuni -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer e -OutVariable. Per ulteriori informazioni, vedere about_Commonparameters.
Input e output
Il tipo di input è il tipo degli oggetti che è possibile reindirizzare al cmdlet. Il tipo restituito è il tipo degli oggetti restituiti dal cmdlet.
Input |
System.String È possibile reindirizzare una stringa che contiene un percorso a Rename-Item. |
Output |
Nessuno o un oggetto che rappresenta l'elemento rinominato. Quando si utilizza il parametro Passthru, con Rename-Item viene generato un oggetto che rappresenta l'elemento rinominato. Negli altri casi, il cmdlet non genera alcun output. |
Note
Il cmdlet Rename-Item è progettato per l'utilizzo di dati esposti da qualsiasi provider. Per elencare i provider disponibili nella sessione, digitare "Get-PsProvider". Per ulteriori informazioni, vedere about_Providers.
Esempio 1
C:\PS>rename-item -path c:\logfiles\daily_file.txt -newname monday_file.txt
Descrizione
-----------
Con questo comando il file daily_file.txt viene rinominato in monday_file.txt.
Esempio 2
C:\PS>rename-item -path project.txt -newname d:\archive\old-project.txt
Rename-Item : Cannot 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], PSArgumentException
+ FullyQualifiedErrorId : Argument,Microsoft.PowerShell.Commands.RenameItemCommand
C:\PS> move-item -path project.txt -destination d:\archive\old-project.txt
# Command succeeds
Descrizione
-----------
In questo esempio viene illustrato che non è possibile utilizzare il cmdlet Rename-Item sia per rinominare sia per spostare un elemento. In particolare, non è possibile fornire un percorso per il valore del parametro NewName, a meno che il percorso non sia identico a quello specificato nel parametro Path. In caso contrario, è consentito solo un nuovo nome.
Con il primo comando viene utilizzato il cmdlet Rename-Item per rinominare il file project.txt nella directory corrente in old-project.txt nella directory D:\Archive. Il risultato è l'errore visualizzato nell'output.
Con il secondo comando viene illustrata la modalità corretta per spostare e rinominare un file mediante il cmdlet Move-Item. Il cmdlet Move-Item consente di specificare sia un nuovo percorso sia un nuovo nome nel valore del parametro Destination.
Esempio 3
C:\PS>rename-item HKLM:\Software\MyCompany\Advertising -NewName Marketing
Descrizione
-----------
In questo comando viene utilizzato il cmdlet Rename-Item per rinominare una chiave del Registro di sistema da Advertising a Marketing. Al completamento del comando, la chiave viene rinominata, ma le voci del Registro di sistema nella chiave rimangono invariate.
Esempio 4
C:\PS>get-childItem *.txt | rename-item -newname { $_.name -replace '\.txt','.log' }
Descrizione
-----------
In questo esempio viene illustrato come utilizzare l'operatore Replace per rinominare più file, anche se il parametro NewName non accetta caratteri jolly.
Con questo comando tutti i file con estensione txt nella directory corrente verranno rinominati in log.
Viene utilizzato il cmdlet Get-ChildItem per ottenere tutti i file nella directory corrente con estensione txt. Quindi, viene utilizzato l'operatore pipeline (|) per inviare i file risultanti al cmdlet Rename-Item.
Nel comando Rename-Item, il valore del parametro NewName è un blocco di script eseguito prima dell'invio del valore al parametro NewName.
Nel blocco di script, la variabile automatica $_ rappresenta ogni oggetto file inviato al comando tramite la pipeline. Nel comando viene utilizzato il formato del punto (.) per ottenere la proprietà Name di ogni oggetto file. L'operatore Replace sostituisce l'estensione del nome file ".txt" di ogni file con ".log".
Poiché l'operatore Replace funziona con le espressioni regolari, il punto che precede "txt" viene interpretato come una corrispondenza a qualsiasi carattere. Per assicurarsi che corrisponda unicamente a un punto (.), viene utilizzato il carattere di escape della barra rovesciata (\). Il carattere barra rovesciata non è richiesto in ".log" perché è una stringa e non un'espressione regolare.
Vedere anche
Concetti
about_Providers
Clear-Item
Invoke-Item
Move-Item
Rename-ItemProperty
Set-Item
New-Item
Remove-Item
Get-Item
Copy-Item