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
modifierLe renommage ou le déplacement de fichier peut-être utilisé dans différents contextes :
Histoire
modifierLa commande mv existait dans Unix, dès la version 6 [1], dans les années 1970. Elle existait aussi préalablement dans la première édition [2].
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[3].
Méthodes
modifierCommandes internes
modifierSous 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 leur 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[4].
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
modifierInterface graphique
modifierOn 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
modifierFonction C
modifierEn langage C, la fonction correspondante s'appelle rename
.
Syntaxe
modifierint rename(const char *oldpath, const char *newpath);
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
modifierrename
renvoie 0 s'il réussit, ou -1 s'il échoue, auquel cas errno contient le code d'erreur.
Notes et références
modifier- Unix V6 Manuals http://man.cat-v.org/unix-6th/1/mv
- Unix First Edition Manual Page http://man.cat-v.org/unix-1st/1/mv
- (en) « V6/usr/source/s2/mv.c », sur tuhs.org (consulté le ).
- http://www.linuxfromscratch.org/blfs/view/cvs/general/unzip.html
http://www.j3e.de/linux/convmv/man/