Partager via


Move-Item

Déplace un élément d'un emplacement à un autre.

Syntax

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

Description

L’applet Move-Item de commande déplace un élément, y compris ses propriétés, son contenu et ses éléments enfants, d’un emplacement à un autre. Les emplacements doivent être pris en charge par le même fournisseur.

Par exemple, elle peut déplacer un fichier ou un sous-répertoire d'un répertoire à un autre ou une sous-clé de Registre d'une clé à une autre. Lors du déplacement d'un élément, celui-ci est ajouté au nouvel emplacement et supprimé de l'emplacement d'origine.

Exemples

Exemple 1 : Déplacer un fichier vers un autre répertoire et le renommer

Cette commande déplace le Test.txt fichier du C: lecteur vers le répertoire et le E:\Temp renomme à .test.txttst.txt

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

Exemple 2 : Déplacer un répertoire et son contenu vers un autre répertoire

Cette commande déplace le C:\Temp répertoire et son contenu vers le C:\Logs répertoire. Le Temp répertoire, ainsi que tous ses sous-répertoires et fichiers, s’affichent ensuite dans le Logs répertoire.

Move-Item -Path C:\Temp -Destination C:\Logs

Exemple 3 : Déplacer tous les fichiers d’une extension spécifiée du répertoire actif vers un autre répertoire

Cette commande déplace tous les fichiers texte (*.txt) du répertoire actif (représenté par un point (.)) vers le C:\Logs répertoire.

Move-Item -Path .\*.txt -Destination C:\Logs

Exemple 4 : déplacer de manière récursive tous les fichiers d’une extension spécifiée du répertoire actif vers un autre répertoire

Cette commande déplace tous les fichiers texte du répertoire actif et de tous les sous-répertoires, de manière récursive, vers le C:\TextFiles répertoire.

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

La commande utilise l’applet Get-ChildItem de commande pour obtenir tous les éléments enfants du répertoire actif (représentés par le point (.)) et ses sous-répertoires qui ont une *.txt extension de nom de fichier. Il utilise le paramètre Recurse pour rendre la récupération récursive et le paramètre Include pour limiter la récupération aux *.txt fichiers.

L’opérateur de pipeline (|) envoie les résultats de cette commande à Move-Item, ce qui déplace les fichiers texte vers le TextFiles répertoire.

Si les fichiers qui doivent être déplacés pour C:\Textfiles avoir le même nom, Move-Item affiche une erreur et continue, mais il déplace un seul fichier avec chaque nom vers C:\Textfiles. Les autres fichiers restent dans les répertoires d'origine.

Si le Textfiles répertoire (ou tout autre élément du chemin de destination) n’existe pas, la commande échoue. Le répertoire manquant n’est pas créé pour vous, même si vous utilisez le paramètre Force . Move-Item déplace le premier élément vers un fichier appelé Textfiles , puis affiche une erreur expliquant que le fichier existe déjà.

De plus, par défaut, Get-ChildItem ne déplace pas les fichiers masqués. Pour déplacer des fichiers masqués, utilisez le paramètre Force avec Get-ChildItem.

Notes

Dans Windows PowerShell 2.0, lors de l’utilisation du paramètre Recurse de l’applet Get-ChildItem de commande, la valeur du paramètre Path doit être un conteneur. Utilisez le paramètre Include pour spécifier le filtre d’extension de *.txt nom de fichier (Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles).

Exemple 5 : Déplacer des clés et des valeurs de Registre vers une autre clé

Cette commande déplace les clés et les valeurs de Registre dans la MyCompany clé de Registre vers HKLM\Software la MyNewCompany clé. Le caractère générique (*) indique que le contenu de la MyCompany clé doit être déplacé, pas la clé elle-même. Dans cette commande, les noms facultatifs des paramètres Path et Destination sont omis.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

Exemple 6 : Déplacer un répertoire et son contenu vers un sous-répertoire du répertoire spécifié

Cette commande déplace le Logs[Sept`06] répertoire (et son contenu) dans le Logs[2006] répertoire.

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

Le paramètre LiteralPath est utilisé au lieu de Path, car le nom de répertoire d’origine comprend des caractères entre crochet gauche et crochet droit ([ et ]). Le chemin d’accès est également placé entre guillemets simples ('), de sorte que le symbole backtick (`) n’est pas mal interprété.

Le paramètre Destination doit également être placé entre guillemets simples, car il inclut des crochets qui peuvent être mal interprétés.

Paramètres

-Confirm

Vous demande une confirmation avant d’exécuter l’applet de commande.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Notes

Ce paramètre n’est pris en charge par aucun fournisseur installé avec PowerShell. Pour emprunter l’identité d’un autre utilisateur ou élever vos informations d’identification lors de l’exécution de cette applet de commande, utilisez Invoke-Command.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Destination

Spécifie le chemin d'accès à l'emplacement vers lequel les éléments sont déplacés. L'emplacement par défaut est le répertoire actif. Les caractères génériques ne sont pas autorisés.

Pour renommer l’élément déplacé, spécifiez un nouveau nom dans la valeur du paramètre Destination .

Type:String
Position:1
Default value:Current directory
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Exclude

Spécifie, en tant que tableau de chaînes, un ou plusieurs éléments que cette applet de commande exclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Exclude n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du C:\Windows répertoire.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Spécifie un filtre pour qualifier le paramètre Path . Le fournisseur FileSystem est le seul fournisseur PowerShell installé qui prend en charge l’utilisation de filtres. Vous trouverez la syntaxe du langage de filtre FileSystem dans about_Wildcards. Les filtres sont plus efficaces que d’autres paramètres, car le fournisseur les applique lorsque l’applet de commande obtient les objets au lieu de laisser PowerShell filtrer les objets après leur récupération.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

Force l’exécution de la commande sans demander la confirmation de l’utilisateur. L'implémentation est différente d'un fournisseur à l'autre. Pour plus d'informations, consultez about_Providers.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

Spécifie, en tant que tableau de chaînes, un ou plusieurs éléments que cette applet de commande inclut dans l’opération. La valeur de ce paramètre qualifie le paramètre Path. Entrez un élément ou un modèle de chemin d’accès, tel que *.txt. Les caractères génériques sont autorisés. Le paramètre Include n’est effectif que lorsque la commande inclut le contenu d’un élément, tel que C:\Windows\*, où le caractère générique spécifie le contenu du C:\Windows répertoire.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

Spécifie un chemin d’accès à un ou plusieurs emplacements. La valeur de LiteralPath est utilisée exactement au fur et à mesure qu’elle est tapée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin inclut des caractères d’échappement, placez-le entre guillemets simples ('). Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme des séquences d’échappement.

Pour plus d’informations, consultez about_Quoting_Rules.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

Retourne un objet représentant l’élément déplacé. Par défaut, cette applet de commande ne génère aucun résultat.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Spécifie le chemin d'accès à l'emplacement actuel des éléments. L'emplacement par défaut est le répertoire actif. Les caractères génériques sont autorisés.

Type:String[]
Position:0
Default value:Current directory
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

Montre ce qui se passe en cas d’exécution de l’applet de commande. L’applet de commande n’est pas exécutée.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Entrées

String

Vous pouvez diriger une chaîne qui contient un chemin d’accès à cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

PSObject

Lorsque vous utilisez le paramètre PassThru , cette applet de commande retourne un objet représentant l’élément déplacé.

Notes

PowerShell inclut les alias suivants pour Move-Item:

  • Toutes les plateformes :

    • mi
    • move
  • Windows :

    • mv
  • Cette applet de commande déplace les fichiers entre les lecteurs pris en charge par le même fournisseur, mais elle déplace les répertoires uniquement dans le même lecteur.

  • Étant donné qu’une Move-Item commande déplace les propriétés, le contenu et les éléments enfants d’un élément, tous les mouvements sont récursifs par défaut.

  • Cette applet de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PSProvider. Pour plus d'informations, consultez about_Providers.