Sposta un elemento da una posizione a un'altra.

Sintassi

Move-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Move-Item [-Path] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Descrizione

Il cmdlet Move-Item sposta un elemento, incluse le proprietà, il contenuto e gli elementi figlio, da una posizione a un'altra. Le posizioni devono essere supportate dallo stesso provider. È possibile, ad esempio, spostare un file o una sottodirectory da una directory a un'altra oppure spostare una sottochiave del Registro di sistema da una chiave a un'altra. Quando si sposta un elemento, esso viene aggiunto alla nuova posizione ed eliminato da quella originale.

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

-Destination <string>

Specifica il percorso in cui spostare gli elementi. Il valore predefinito è la directory corrente. I caratteri jolly sono consentiti, ma il risultato deve specificare un solo percorso.

Per rinominare l'elemento spostato, specificare un nuovo nome nel valore del parametro Destination.

Obbligatorio?

false

Posizione?

2

Valore predefinito

Accettare input da pipeline?

true (ByPropertyName)

Accettare caratteri jolly?

false

-Exclude <string[]>

Omette gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un criterio o un elemento del percorso, ad esempio "*.txt". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Filter <string>

Specifica un filtro nel formato o nel linguaggio del provider. Il valore di questo parametro qualifica il parametro Path. La sintassi del filtro, incluso l'utilizzo dei caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica al momento del recupero degli oggetti, anziché utilizzare Windows PowerShell per filtrare gli oggetti dopo il recupero.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-Force

Consente al cmdlet di spostare un elemento che sovrascrive un elemento di sola lettura esistente. 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

-Include <string[]>

Sposta unicamente gli elementi specificati. Il valore di questo parametro qualifica il parametro Path. Immettere un criterio o un elemento del percorso, ad esempio "*.txt". È consentito l'utilizzo di caratteri jolly.

Obbligatorio?

false

Posizione?

named

Valore predefinito

Accettare input da pipeline?

false

Accettare caratteri jolly?

false

-LiteralPath <string[]>

Specifica il percorso corrente degli elementi. A differenza di Path, il valore di LiteralPath viene utilizzato così come viene digitato. Nessun carattere viene interpretato come carattere jolly. Se il percorso include caratteri di escape, è necessario racchiuderli tra virgolette singole tramite le quali si comunica a Windows PowerShell di non interpretare alcun carattere come sequenza di escape.

Obbligatorio?

true

Posizione?

1

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 corrente degli elementi. Il valore predefinito è la directory corrente. È consentito l'utilizzo di caratteri jolly.

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 Move-Item.

Output

Nessuno o un oggetto che rappresenta l'elemento spostato.

Quando si utilizza il parametro Passthru, con Move-Item viene generato un oggetto che rappresenta l'elemento spostato. Negli altri casi, il cmdlet non genera alcun output.

Note

Move-Item sposta i file tra le unità supportate dallo stesso provider, ma sposta unicamente le directory all'interno della stessa unità.

Poiché un comando Move-Item sposta le proprietà, il contenuto e gli elementi figlio di un elemento, per impostazione predefinita tutti gli spostamenti sono ricorsivi.

È inoltre possibile fare riferimento a Move-Item tramite i relativi alias predefiniti "move", "mv" e "mi". Per ulteriori informazioni, vedere about_Aliases.

Il cmdlet Move-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>move-item -path C:\test.txt -destination E:\Temp\tst.txt

Descrizione
-----------
Con questo comando il file Test.txt viene spostato dall'unità C: alla directory E:\Temp e rinominato da "test.txt" a "tst.txt".






Esempio 2

C:\PS>move-item -path C:\Temp -destination C:\Logs

Descrizione
-----------
Con questo comando la directory C:\Temp e il relativo contenuto viene spostato nella directory C:\Logs. Nella directory Logs sono ora visualizzati la directory Temp e tutte le sottodirectory e i file che contiene.






Esempio 3

C:\PS>move-item -path .\*.txt -destination C:\Logs

Descrizione
-----------
Con questo comando vengono spostati nella directory C:\Logs tutti i file di testo (*.txt) nella directory corrente, rappresentata da un punto (.).






Esempio 4

C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles

Descrizione
-----------
Con questo comando vengono spostati nella directory C:\TextFiles tutti i file di testo dalla directory corrente e da tutte le sottodirectory, in modalità ricorsiva. 

Viene utilizzato il cmdlet Get-ChildItem per ottenere tutti gli elementi figlio con estensione di file *.txt nella directory corrente, rappresentata dal punto (.), e nelle relative sottodirectory. Vengono utilizzati il parametro Recurse per rendere ricorsivo il recupero e il parametro Include per limitare il recupero ai file *.txt.

L'operatore pipeline (|) invia i risultati di questo comando a Move-Item, tramite il quale i file di testo vengono spostati nella directory TextFiles.

Se i file spostati in C:\Textfiles hanno lo stesso nome, viene visualizzato un errore e l'esecuzione di Move-Item prosegue, ma viene spostato solo un file per ogni nome in C:\Textfiles. Gli altri file rimangono nelle directory originali.

Se la directory Textfiles o qualsiasi altro elemento del percorso di destinazione non esiste, il comando ha esito negativo. La directory mancante non viene creata, anche se si utilizza il parametro Force. Tramite Move-Item il primo elemento viene spostato in un file denominato "Textfiles", quindi viene visualizzato un errore per segnalare che il file esiste già. 

Per impostazione predefinita, inoltre, Get-ChildItem non sposta i file nascosti. Per spostare i file nascosti, utilizzare il parametro Force con Get-ChildItem.






Esempio 5

C:\PS>move-item hklm:\software\mycompany\* hklm:\software\mynewcompany

Descrizione
-----------
Con questo comando vengono spostate nella chiave MyNewCompany le chiavi del Registro di sistema con i relativi valori all'interno della chiave del Registro di sistema MyCompany in HKLM\Software. Il carattere jolly (*) indica che deve essere spostato il contenuto della chiave MyCompany, non la chiave stessa. In questo comando, i nomi dei parametri facoltativi Path e Destination vengono omessi.






Esempio 6

C:\PS>move-item -literalpath 'Logs[Sept`06]' -destination 'Logs[2006]'

Descrizione
-----------
Con questo comando la directory Logs[Sept`06] e il relativo contenuto viene spostata nella directory Logs[2006]. 

Anziché Path, viene utilizzato il parametro LiteralPath perché il nome della directory originale include i caratteri di parentesi quadra aperta e chiusa ([ e ]). Il percorso viene inoltre racchiuso tra virgolette (' '), per evitare che il simbolo "`" non venga interpretato in modo errato. 

Il parametro Destination non richiede un percorso letterale, poiché anche la variabile Destination deve essere racchiusa tra virgolette in quanto contiene parentesi che potrebbero essere interpretate in modo errato.






Vedere anche




Argomenti della Guida