> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# xbCopy (xbcopy.exe)

> xbCopy (xbcopy.exe)

Utilisez cet outil pour effectuer une copie différentielle de fichiers vers et depuis votre console de développement.

| Colonne 1 |
| - |
| **xbcopy** *source* *destination* \[search\_pattern\[...]] \[*options*] \[/s\[:]*levels*] \[/X\[:]*address\[+\<accesskey>]*] |

| Option | Description |
| - | - |
| *source* | Chemin du répertoire source |
| *destination* | Chemin du répertoire de destination |
| *search\_pattern* | Spécifie le ou les fichiers à copier ou le ou les modèles de recherche (les caractères génériques \* et ? sont pris en charge). Si vous ne spécifiez pas ce paramètre, \* est utilisé comme valeur par défaut. Les modèles de recherche sont séparés par un espace et peuvent inclure un lien vers un fichier, par exemple xbcopy.exe c:\mysource xD:\console\path \*.png \*.txt specific\_file.json |
| *options* | Spécifie les options à utiliser avec la commande xbcopy, notamment les options de copie, de mode et de journalisation. |
| /s:\[levels] | Copie les fichiers d'un répertoire spécifié et de tous ses sous-répertoires. Levels est un entier facultatif qui spécifie la profondeur de récursivité des sous-répertoires. Par exemple, /s:1 traite uniquement le répertoire spécifié et les sous-répertoires situés un niveau en dessous. Si /s est spécifié sans levels, tous les sous-répertoires sont inclus. |
| /X\[:]*address\[+\<accesskey>]* | - Utilisez cette option pour spécifier le nom d'hôte ou l'adresse (affichée en tant que **Tools IP** sur la console) d'une console cible sans modifier la console par défaut. Pour plus d'informations sur la définition d'un nom d'hôte pour une console, consultez [Définir un nom d'hôte pour l'adresse IP de la console](/fr/home/setup-install/dev-kit-settings/setting-a-hostname).<br />- Si vous n'utilisez pas cette option, la console par défaut (définie précédemment à l'aide de [Connexion (xbconnect.exe)](/fr/tools/tools-console/commandlinetools/xbconnect)) est utilisée. <br />- Utilisez la chaîne *accesskey* pour limiter l'accès à une console aux seules personnes qui disposent de la clé d'accès. <br />- Définissez la clé d'accès à l'aide de la commande **xbconfig accesskey=your-key**, puis redémarrez votre console pour que la clé d'accès prenne effet.<br />- Pour accéder à une console configurée avec une clé d'accès, vous devez ajouter un signe plus (+) suivi de la clé d'accès après l'adresse IP ou le nom d'hôte de la console.<br />- Si une clé d'accès est fournie lors de la définition de la console par défaut avec [xbconnect](/fr/tools/tools-console/commandlinetools/xbconnect), la clé d'accès est stockée dans l'adresse de la console par défaut.<br />- Pour plus d'informations sur les clés d'accès, consultez [xbconfig accesskey](/fr/tools/tools-console/commandlinetools/xbconfig). |
| /LC | Spécifiez le code de paramètres régionaux. Permet de remplacer le code de paramètres régionaux par défaut |

### Modes de copie

Les modes de copie s'excluent mutuellement : un seul peut être spécifié pour chaque opération de copie. Si aucun mode de copie n'est spécifié, l'outil vérifie si les fichiers ont été modifiés ou non, et seuls les fichiers modifiés sont pris en compte pour l'opération de copie.

| Option | Description | Prise en charge des filtres | Prise en charge des modèles de recherche |
| - | - | - | - |
| /list | Énumère ou répertorie tous les fichiers qui seront copiés ; fonctionne comme un aperçu de la copie. | Oui | Oui |
| /overwrite | Si cette option est sélectionnée, l'outil ne vérifie pas si les fichiers ont été modifiés : tous les fichiers sont donc remplacés. | Oui | Oui |
| /mirror | Supprime les fichiers et répertoires de destination qui n'existent plus dans la source. Si ce mode est spécifié, les modèles de recherche et les options de filtre ne peuvent pas être spécifiés. | Non | Non |

### Options de filtre

Ces options permettent à l'utilisateur de spécifier, au moyen de filtres, les fichiers et répertoires qui feront partie de la copie. L'outil propose deux types de filtres :

* Filtres en ligne de commande (/exd, /exf/ /ina et /exa).
* Filtres par fichier JSON (/rules)

| Option | Description |
| - | - |
| /exf \[<i>file-name</i>] \[…] | Exclut les fichiers correspondant aux noms ou chemins spécifiés. Les caractères génériques \* et ? sont pris en charge. Par exemple : <i>xbcopy src dst /s /exf \*.png \*.data</i> exclut tous les fichiers portant les extensions png et data. |
| /exd \[<i>directory-name</i>] \[…] | Exclut les répertoires correspondant aux noms et chemins spécifiés. Les caractères génériques \* et ? sont pris en charge. Par exemple : <i>xbcopy src dst /s /exd *assets*</i> exclut de la copie tout répertoire dont le nom contient le mot assets. |
| /ina:\[R]\[A]\[S]\[H] | Inclut uniquement les fichiers pour lesquels l'un des attributs spécifiés est défini. Les options d'inclusion valides prises en charge sont <i>R</i> (lecture seule), <i>A</i> (archive), <i>S</i> (système) et <i>H</i> (masqué) |
| /exa:\[R]\[A]\[S]\[H] | Exclut les fichiers pour lesquels l'un des attributs spécifiés est défini. Les options d'exclusion valides prises en charge sont <i>R</i> (lecture seule), <i>A</i> (archive), <i>S</i> (système) et <i>H</i> (masqué) |
| /rules:\[<i>file\_name</i>] | Spécifie un fichier JSON qui offre des fonctionnalités de filtrage d'exclusion/inclusion de fichiers et de répertoires plus puissantes que celles des paramètres en ligne de commande. Pour plus d'informations sur le format de fichier, consultez la section [Format du fichier de règles JSON](#json-rule-file-format). |

### Options de journalisation

xbCopy propose les options de journalisation suivantes :

| Option | Description |
| - | - |
| /nlh | N'inclut pas l'en-tête dans la journalisation |
| /nlc | N'inclut pas les titres des colonnes de fichiers dans la journalisation |
| /nlsi | N'inclut pas la taille des fichiers dans la journalisation |
| /nlst | N'inclut pas l'état de copie des fichiers dans la journalisation |
| /nlsu | N'inclut pas le résumé dans la journalisation |
| /nlp | N'inclut pas la progression de la copie dans la journalisation |
| /nlf | N'inclut pas les noms de fichiers dans la journalisation |

<a id="json-rule-file-format" />

### Format du fichier de règles JSON

Ce fichier se compose de deux tableaux d'objets de règles JSON. Vous pouvez en spécifier un seul ou les deux selon vos besoins.
Un tableau contient les règles qui spécifient les fichiers ou répertoires à exclure de l'opération de copie, tandis que l'autre contient les règles qui spécifient les fichiers ou répertoires à inclure.

Points à prendre en compte :

* Un fichier ou un répertoire à exclure ou à inclure doit correspondre à au moins une des règles de chaque tableau respectif.
* Si un répertoire donné est exclu, tous ses sous-répertoires le sont également.
* Si aucune règle d'inclusion n'est spécifiée, tous les fichiers et répertoires font partie de la copie, sauf s'ils correspondent à l'une des règles d'exclusion.
* Les règles d'exclusion sont prioritaires : si un fichier ou un répertoire correspond à la fois à une règle d'inclusion et à une règle d'exclusion, il est exclu.
* Au sein d'un tableau, les règles sont appliquées dans l'ordre. Autrement dit, les règles que vous définissez en premier dans le tableau sont vérifiées en premier.

Vous trouverez ci-dessous le format de syntaxe général du fichier de règles JSON :

```
{
        "ExcludeRules" : [rule_1, rule_2, rule_3, …, rule_N],
        "IncludeRules"  : [rule_1, rule_2, rule_3, …, rule_N]
}
```

#### Format des règles

Les objets de règle se composent d'au moins deux attributs : un modèle de recherche (caractère générique ou expression régulière) et ApplyTo. L'attribut Path est facultatif. Vous trouverez ci-dessous une description de chacun des attributs.

| Attribute | Description | Required (see remarks) |
| - | - | - |
| "Wildcard" | Spécifie un modèle de recherche à caractères génériques auquel un fichier ou un répertoire doit correspondre pour être considéré comme inclus ou exclu, selon l'emplacement de la règle. Seuls \* et ? sont pris en charge dans le modèle de recherche à caractères génériques. | Oui |
| "Regex" | Spécifie un modèle de recherche par expression régulière auquel un fichier ou un répertoire doit correspondre pour être considéré comme inclus ou exclu, selon l'emplacement de la règle. | Oui |
| "ApplyTo" | Spécifie la portée de la règle, c'est-à-dire si la règle s'applique uniquement aux fichiers, uniquement aux répertoires, ou aux deux. Les valeurs valides sont "File", "Directory" ou "Both" | Oui |
| "Path" | Spécifie l'élément auquel le modèle de recherche s'applique : le chemin complet, le chemin relatif ou le nom seul. Si ce paramètre n'est pas fourni, le chemin complet est utilisé. Les valeurs valides sont "Full", "Relative" ou "Name" | Non |

> Remarque : les attributs Wildcard et Regex ne peuvent pas être utilisés simultanément dans une même règle ; vous ne pouvez en spécifier qu'un seul à la fois par règle. Soyez prudent lors de la définition et du positionnement des règles, en particulier si elles se chevauchent.

### Exemples de fichiers de règles JSON

#### Exemple 1 : format de fichier de règles pour exclure des fichiers et des répertoires.

Le fichier ci-dessous :

* Exclut les fichiers portant les extensions .xml et .exe
* Exclut tout répertoire dont le nom est égal à "assets"

```
{
        "ExcludeRules" : 
        [
                {
                        "Wildcard" : "*.xml",
                        "ApplyTo"  : "File"
                },
                {
                        "Wildcard" : "assets",
                        "ApplyTo"  : "Directory", 
                        "Path"        : "Name"
                },
                {
                        "Regex"      : "^.*\\.exe$",
                        "ApplyTo"  : "File",
                        "Path"        : "Name"
                }
        ],

        "IncludeRules" : []
}
```

#### Exemple 2 : format de fichier de règles pour spécifier les fichiers et répertoires à copier.

Ce format de fichier de règles copie uniquement les fichiers portant les extensions .exe et .data

```
{
        "ExcludeRules" : [],
        "IncludeRules" : 
        [
                {
                        "Wildcard" : "*.exe",
                        "ApplyTo"  : "File"
                },
                {
                        "Wildcard" : "*.data",
                        "ApplyTo"  : "File"
                }
        ]
}
```

### Exemples xbCopy

| Example | Description |
| - | - |
| xbcopy c:\mysource xD:\Some\RemoteFolder \*.png /s | Modèle de recherche unique et tous les sous-répertoires |
| xbcopy c:\mysource xD:\Some\RemoteFolder \*.png /s:2 | Modèle de recherche unique et deux niveaux de sous-répertoires |
| xbcopy c:\mysource xD:\Some\RemoteFolder \*.png \*.txt \*.log /s | Plusieurs modèles de recherche |
| xbcopy c:\mysource xD:\Some\RemoteFolder /exd *data* | Exclusion d'un seul répertoire |
| xbcopy c:\mysource xD:\Some\RemoteFolder /s /exd *data* *bin* | Exclusion de plusieurs répertoires |
| xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf \*.xml | Filtre d'exclusion d'un seul fichier |
| xbcopy c:\mysource xD:\Some\RemoteFolder /s /exf specific\_file.ext \*.mp? | Exclusion de plusieurs fichiers |
| xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json | Application d'un filtre à l'aide d'un fichier de règles JSON |
| xbcopy c:\mysource xD:\Some\RemoteFolder /s /rules:filter.json /list | Application du mode de copie list pour prévisualiser la copie |

<a id="ID4EJE" />

## Voir aussi

[Outils en ligne de commande](/fr/tools/tools-console/commandlinetools/commandlinetools)

[File Copy](/fr/tools/tools-console/commandlinetools/xbcp)

[Erreurs de transport XTF](/fr/tools/tools-console/commandlinetools/xtf-transport-errors)


## Related topics

- [Outils en ligne de commande pour le développement sur console](/fr/tools/tools-console/commandlinetools/commandlinetools.md)
- [Outils en ligne de commande](/fr/tools/tools-console/commandlinetools/index.md)
- [Glossaire GDK des termes et acronymes](/fr/home/glossary.md)
- [xbWatson](/fr/tools/tools-console/xbWatson/xbwatson.md)
- [Informations de version (xbVersionInfo.exe)](/fr/tools/tools-console/commandlinetools/xbversioninfo.md)
