# Renommage de fichier

En informatique, renommer un fichier consiste à modifier le nom de ce fichier dans la table d'allocation des fichiers.
L'utilisateur ou le système peut utiliser différents outils pour effectuer cette manipulation. Cette manipulation peut s'effectuer à l'aide de commande interactive intégré aux systèmes d'exploitation, à l'aide de fonctions proposées par les langages de programmation, avec un logiciel dédié ou en développant un programme qui modifie directement le nom du fichier. Des interfaces graphiques permettent également de le faire, comme l'explorateur Windows par exemple.
Le changement de nom de fichier est parfois oralement appelé renommage, ou renommer, sur le modèle de la langue anglaise : renamed, to rename.

## Applications

Le renommage ou le déplacement de fichier peut-être utilisé dans différents contextes :
* conservation d'un ancien fichier que l'on s'apprête à remplacer ;
* changement de suffixe du nom de fichier ;
* afin de donner un nom plus significatif ;
* afin de rendre le fichier disponible sur un autre support (clé USB, internet, disquette, etc.) ;
* traitement automatisé d'un lot de fichiers.

## Histoire

La commande mv existait dans Unix, dès la version 6, dans les années 1970. Elle existait aussi préalablement dans la première édition.
Historiquement, sous Unix, le déplacement et le renommage de fichier sont des opérations similaires, puisqu'elles ont en commun le fait de changer le nom absolu du fichier, de garantir que le fichier n'est pas perdu, et de donner un statut indiquant si l'opération s'est déroulée comme convenu.
Dans les premières versions, le renommage de fichier consistait à créer un lien (avec la commande link), de manière que deux noms de fichiers pointent sur le même fichier, puis à supprimer le premier nom de fichier.

## Méthodes
### Commandes internes
#### Interface en ligne de commande

Sous Unix et Linux on utilise la commande UNIX mv (en référence au terme anglais move, déplacer) pour renommer ou déplacer des fichiers et des répertoires. Des problèmes d'interopérabilité peuvent apparaître puisque leurs systèmes de fichiers ne garantissent pas l'encodage des noms de fichiers. Une conversion d'encodage du nom de fichier peut donc être nécessaire, pour garder le nom textuel du fichier, tout en changeant son nom binaire. Cette fonctionnalité n'est pas fournie par la commande mv, mais par la commande convmv.
Sous MS-DOS et Windows, on distingue la notion de déplacement de fichier, qui consiste à le rendre disponible dans un autre répertoire, en modifiant le chemin et en conservant le nom relatif, du concept de renommage, qui consiste à le rendre disponible dans le même répertoire, en conservant le chemin et en changeant le nom relatif. On peut utiliser sous ces systèmes les commandes ren ou rename pour renommer un fichier ou un répertoire, depuis la version DOS 1.0.

### Outils logiciels
#### Interface graphique

On peut utiliser la fonction de glisser-déposer proposée par l'explorateur Windows. Cette opération fait toutefois courir le risque d'un déplacement partiel, si une erreur intervient en cours d'opération.

### Langage de programmation
#### Fonction C

En langage C, la fonction correspondante s'appelle rename.

##### Syntaxe

rename renomme le fichier oldpath vers le fichier newpath, en le déplaçant vers un autre répertoire si besoin est. Si le fichier destination existe, il sera écrasé (si le processus en a le droit).

##### Code retour

rename renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.