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-Help about_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




Argomenti della Guida