Move-Item
Sposta un elemento da una posizione a un'altra.
Sintassi
Path (Impostazione predefinita)
Move-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
LiteralPath
Move-Item
[[-Destination] <String>]
-LiteralPath <String[]>
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-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.
I percorsi devono essere supportati dallo stesso provider.
Ad esempio, può spostare un file o una sottodirectory da una directory a un'altra o spostare una sottochiave del Registro di sistema da una chiave a un'altra.
Quando si sposta un elemento, questo viene aggiunto alla nuova posizione ed eliminato dalla posizione originale.
Esempio
Esempio 1: Spostare un file in un'altra directory e rinominarlo
Questo comando sposta il file "Test.txt" dall'unità C: alla directory "E:\Temp" e lo rinomina da "test.txt" a "tst.txt".
Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt
Esempio 2: Spostare una directory e il relativo contenuto in un'altra directory
Questo comando sposta la directory "C:\Temp" e il relativo contenuto nella directory "C:\Logs". La directory "Temp" e tutte le relative sottodirectory e file vengono quindi visualizzate nella directory "Logs".
Move-Item -Path C:\Temp -Destination C:\Logs
Esempio 3: Spostare tutti i file di un'estensione specificata dalla directory corrente a un'altra directory
Questo comando sposta tutti i file di testo ("*.txt") nella directory corrente (rappresentati da un punto (".'") alla directory "C:\Logs".
Move-Item -Path .\*.txt -Destination C:\Logs
Esempio 4: Spostare in modo ricorsivo tutti i file di un'estensione specificata dalla directory corrente a un'altra directory
Questo comando sposta tutti i file di testo dalla directory corrente e da tutte le sottodirectory, in modo ricorsivo, alla directory "C:\TextFiles".
Il comando utilizza il Get-ChildItem cmdlet per ottenere tutti gli elementi figlio nella directory corrente (rappresentati dal punto [.]) e le relative sottodirectory che hanno un'estensione di file ".txt". Utilizza 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, che sposta i file di testo nella directory "TextFiles".
Se i file che devono essere spostati in "C:\Textfiles" hanno lo stesso nome, Move-Item visualizza un errore e continua, ma sposta solo un file con 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 non riesce.
La directory mancante non viene creata automaticamente, anche se si usa il parametro force .
Move-Item sposta il primo elemento in un file denominato "Textfiles" e quindi visualizza un errore che spiega che il file esiste già.
Inoltre, per impostazione predefinita, Get-ChildItem non sposta i file nascosti.
Per spostare i file nascosti, usare il parametro Force con Get-ChildItem.
Nota: In Windows PowerShell 2.0, quando si utilizza il parametro Get-ChildItem del cmdlet, il valore del parametro Path deve essere un contenitore.
Utilizzare il parametro Include per specificare il filtro .txt dell'estensione del nome file (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).
Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"
Esempio 5: Spostare chiavi e valori del Registro di sistema in un'altra chiave
Questo comando sposta le chiavi e i valori del Registro di sistema all'interno della chiave del Registro di sistema "MyCompany" in "HKLM\Software" nella chiave "MyNewCompany". Il carattere jolly ('*') indica che il contenuto della chiave "MyCompany" deve essere spostato, non la chiave stessa. In questo comando vengono omessi i nomi dei parametri Path e Destination.
Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"
Esempio 6: Spostare una directory e il relativo contenuto in una sottodirectory della directory specificata
Questo comando sposta la directory "Logs[Sept'06]" (e il suo contenuto) nella directory "Logs[2006]".
Il parametro LiteralPath viene utilizzato al posto di Path, poiché il nome della directory originale include i caratteri parentesi quadre sinistra e parentesi quadra destra ("[" e "]"). Il percorso è inoltre racchiuso tra virgolette singole (' '), in modo che il simbolo di apice inverso (') non venga interpretato in modo errato.
Il parametro Destination non richiede un percorso letterale, perché anche la variabile Destination deve essere racchiusa tra virgolette singole, perché include parentesi quadre che possono essere interpretate in modo errato.
Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'
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 |
-Destination
Specifica il percorso della posizione in cui vengono spostati gli elementi. Il valore predefinito è la directory corrente. I caratteri jolly sono consentiti, ma il risultato deve specificare una singola posizione.
Per rinominare l'elemento da spostare, specificare un nuovo nome nel valore del parametro Destination.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | Current directory |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | True |
| Valore dagli argomenti rimanenti: | False |
-Exclude
Specifica, come matrice di stringhe, un elemento o elementi esclusi dal cmdlet dall'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio "*.txt". Sono consentiti caratteri jolly.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| 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 |
-Filter
Specifica un filtro nel formato o nella lingua del provider. Il valore di questo parametro qualifica il parametro Path.
La sintassi del filtro, incluso l'uso di caratteri jolly, dipende dal provider. I filtri sono più efficienti rispetto ad altri parametri, perché il provider li applica quando il cmdlet ottiene gli oggetti anziché filtrare gli oggetti dopo il recupero.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| 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 |
-Force
Forza l'esecuzione del comando senza chiedere conferma dell'utente. L'implementazione varia da provider a provider. Per altre informazioni, consultare about_Providers.
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 |
-Include
Specifica, come matrice di stringhe, uno o più elementi che questo cmdlet sposta nell'operazione. Il valore di questo parametro qualifica il parametro Path. Immettere un elemento o un modello di percorso, ad esempio "*.txt". Sono consentiti caratteri jolly.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | True |
| 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 il percorso della posizione corrente degli elementi. A differenza del parametro Path, il valore di LiteralPath viene usato 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.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | PSPath |
Set di parametri
LiteralPath
| Posizione: | Named |
| 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 con cui si sta lavorando. 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 della posizione corrente degli elementi. Il valore predefinito è la directory corrente. Sono consentiti caratteri jolly.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | Current directory |
| Supporta i caratteri jolly: | True |
| DontShow: | False |
Set di parametri
Path
| 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 ulteriori 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 or an object representing the moved item.
Quando si utilizza il parametro PassThru , questo cmdlet genera un oggetto che rappresenta l'elemento spostato. In caso contrario, questo cmdlet non genera alcun output.
Note
Questo cmdlet sposta i file tra unità supportate dallo stesso provider, ma sposta le directory solo all'interno della stessa unità.
Poiché un comando Move-Item sposta le proprietà, il contenuto e gli elementi figlio di un elemento, tutti gli spostamenti vengono ricorsivi per impostazione predefinita.
Questo cmdlet è 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.