Pourquoi ne peut-on pas créer un dossier nommé CON dans Windows ou MS-DOS ?


Cela remonte aux tout premiers jours du DOS.

CON est un mot réservé dans le système d'exploitation DOS (et donc Windows moderne en raison de la rétrocompatibilité).


C'est en fait l'abréviation de "Console". La Console dans DOS fait référence à l'entrée au clavier et à la sortie de l'affichage local. Mes meilleurs souvenirs de l'utilisation effective de CON seraient dans le cadre de la commande DOS Copy, comme dans :

COPYCOPY CON MYFILE.TXT

Ceci vous permettra de créer un fichier texte rapide et sale (nommé MYFILE.TXT dans ce cas) sans l'utilisation d'un éditeur de texte. Immédiatement après avoir tapé cette commande, l'invite DOS est remplacée par un curseur clignotant. Vous pouvez alors entrer du texte directement à partir de votre clavier, et terminer par Control-Z lorsque vous avez terminé.

Une fois que vous avez fait cela, DOS répondra par :

1 Fichier(s) copié(s).

Et votre fichier sera créé dans le répertoire actuel.

Cette méthode était surtout utile pour créer des choses comme des fichiers batch et de courts scripts de configuration. Cependant, il souffre d'une limitation sévère, à savoir que vous ne pouvez pas corriger les erreurs une fois que vous avez appuyé sur la touche Entrée et que vous passez à la ligne suivante.

Il peut sembler étrange aujourd'hui que l'on ait jamais eu recours à la création d'un fichier de cette manière, car n'importe quel éditeur de texte de base est infiniment plus efficace. Cependant, vous devez vous rappeler qu'aux premiers jours du DOS, il n'y avait pas de disques durs ! Par conséquent, toute commande que vous exécutez doit être une commande DOS native, ou le programme exécutable doit résider quelque part sur une disquette qui se trouve dans la machine. Ce n'était pas toujours pratique. D'où le fait que la copie de fichiers à partir de la console faisait partie de votre vie.

Vous pouvez également inverser cette commande, comme dans :

COPY MYFILE.TXT CON

ce qui aura pour résultat d'afficher le contenu de MYFILE.TXT à l'écran.

Cela n'était/est pratiquement jamais utilisé, cependant, car :

TYPE MYFILE.TXT

fait essentiellement la même chose, et est plus court. Et bien sûr, si le fichier fait plus de 25 lignes, il est alors beaucoup plus utile de diriger la sortie vers le filtre More, comme dans:

TYPE MYFILE.TXT | MORE

qui affichera le contenu du fichier 24 lignes à la fois, en faisant une pause avec l'invite "-More-" à la 25e ligne, en attendant la saisie au clavier pour continuer.

Bien sûr, depuis que je suis passé dans le monde Unix/Linux, je tape presque instinctivement:

LESS MYFILE.TXT

ce qui fait la même chose que le filtre DOS More s'il se trouve que vous utilisez Unix ou Linux à ce moment-là... mais malheureusement, ne vous donnera une erreur que sous DOS/Windows !

Vous pourriez également trouver intéressant le fait que vous ne pouvez pas créer de dossiers ou de fichiers qui correspondent à tout autre nom de périphérique DOS, comme COMx (où x est un numéro de port série, comme dans "COM1"), ou LPTx (où x est un numéro d'imprimante, comme dans "LPT1").

Ah, les joies de la rétrocompatibilité. Près de 40 ans ont passé, et DOS, avec toutes ses limitations excentriques, est toujours parmi nous !

.