Introduction

Lorsque l'on explore les variables d'environnement, on peut remarquer deux variables qui proposent de spécifier l'emplacement des fichiers temporaires : TMP et TEMP. Pourquoi deux variables ? Et si elles sont en désaccord, laquelle est la bonne ?

Contexte Technique

L'histoire de ces deux variables remonte à 1973, avec le système d'exploitation CP/M, qui n'avait pas de variables d'environnement. Les programmes devaient être configurés de manière spécifique, comme en patchant un octet dans l'exécutable pour indiquer l'emplacement des fichiers temporaires. L'arrivée de MS-DOS en 1981 a introduit les variables d'environnement, mais les premiers programmes n'en ont pas utilisé, car ils étaient portés de CP/M.

Au fil du temps, les programmes ont commencé à utiliser les variables d'environnement pour stocker des données de configuration. Deux variables ont émergé pour spécifier l'emplacement des fichiers temporaires : TEMP et TMP. MS-DOS 2.0 a introduit la possibilité de redirectionner la sortie d'un programme vers un fichier temporaire, et les auteurs de MS-DOS ont choisi d'utiliser la variable TEMP pour contrôler l'emplacement de ces fichiers.

Analyse et Implications

Les programmes peuvent utiliser soit TEMP, soit TMP, selon la préférence de leur auteur. Certains programmes, comme DISKCOPY et EDIT, ont cherché TEMP avant TMP, tandis que Windows a choisi d'utiliser la fonction GetTempFileName, qui préfère TMP. Cela signifie que le répertoire utilisé pour les fichiers temporaires dépend du programme.

Perspective

Aujourd'hui, les deux variables sont toujours présentes dans la configuration des variables d'environnement, et les programmes continuent de les utiliser de manière différente. Il est important de comprendre l'historique et les implications de ces deux variables pour éviter les conflits et les erreurs lors de la configuration des programmes.