
Windows “reserveert” bepaalde bestandsnamen en laat u ze nergens gebruiken. Vergeet het aanroepen van een bestand “con.txt” of “aux.mp3”. Dit komt allemaal door een keuze uit 1974 en de honger van Microsoft naar eeuwige achterwaartse compatibiliteit.
Bestandsnamen die u niet kunt gebruiken

Microsoft biedt een officiële lijst met gereserveerde bestandsnamen, en hier zijn ze:
CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8 en LPT9
Merk op dat u deze bestandsnamen met geen enkele bestandsextensie kunt gebruiken. U kunt een bestand dus niet “con.txt”, “con.jpg”, “of” con.doc “noemen. En Windows is niet hoofdlettergevoelig, dus het maakt niet uit of het CON, con of CoN is – Windows laat je die naam niet gebruiken.
U kunt het zelf proberen. Probeer een bestand op te slaan als “con.txt” of “lpt6.txt” in Kladblok. Of probeer een bestand te hernoemen naar een van deze namen in Verkenner. Windows laat je het gewoon niet doen.
Natuurlijk beperkt Windows ook bestandsnamen op andere manieren. U kunt ook geen verschillende speciale tekens zoals de volgende in namen gebruiken. Raadpleeg de officiële documentatie van Microsoft voor meer informatie.
Wat gebeurde er in 1974, en waarom moeten we ons zorgen maken?
Het is 2018 en deze foutmelding is een vergissing uit 1974.
Deze beperking, die nog steeds wordt aangetroffen in de allernieuwste Windows 10, dateert van VOOR STAR WARS. Deze bug is zo oud als Watergate. pic.twitter.com/pPbkZiE57t– foone (@Foone) 3 november 2018
Net zo @Foone Dit probleem, dat onlangs op Twitter werd uitgelegd, dateert uit 1974. In UNIX is “alles een bestand”. (Hetzelfde geldt voor UNIX-achtige besturingssystemen zoals Linux tegenwoordig.) Hardware-apparaten werden weergegeven op speciale paden zoals / dev / lp0 voor de eerste printer en / dev / tty voor de console.
In 1974 werd hetzelfde concept toegevoegd aan het CP / M-besturingssysteem. Helaas is CP / M ontworpen voor computers met zeer weinig geheugen en zonder harde schijven. Het gebruikte meerdere schijven en geen mappen, dus die speciale bestanden die apparaten vertegenwoordigden, verschenen effectief overal, op elke schijf.
Dus als u een tekstbestand opsloeg, zou u uw teksteditor kunnen vertellen om het op het printerapparaat te “opslaan”, dat het zou afdrukken. Maar teksteditors en andere programma’s voegen graag bestandsextensies toe zoals “.txt”, dus CP / M negeerde gewoon de bestandsextensie voor deze apparaatbestanden. Met andere woorden, als een teksteditor probeert een bestand op te slaan onder de naam van het printerapparaat gevolgd door “.txt”, nam CP / M aan dat het naar het printerapparaat verwees en negeerde de bestandsextensie. Nu werkte de functie naar behoren in elke toepassing – geweldig!
Natuurlijk, het is een vuile hack, maar wat maakt het uit? Nou, CP / M sloeg aan. Uiteindelijk kwam PC-DOS langs, en het behield die handige CP / M-functie. PC-DOS 2.0 voegde mappen toe in 1983, maar Microsoft koos ervoor om deze apparaatbestanden in alle mappen te laten verschijnen voor compatibiliteit met bestaande DOS-software in plaats van ze in een speciale apparaatmap te plaatsen.
Uiteindelijk kwam Windows 95 en werd het bovenop DOS gebouwd. Windows NT was niet gebaseerd op DOS, maar wilde wel achterwaarts compatibel zijn met Windows 95-applicaties. Windows 10 is nog steeds gebaseerd op Windows NT en werkt op dezelfde manier. Hetzelfde geldt natuurlijk voor Windows 7.
Nu is het meer dan veertig jaar later en we kunnen de bestanden nog steeds geen “con.txt” of “aux.mp3” noemen omdat Windows compatibel wil blijven met oude programma’s die deze functie mogelijk gebruikten. Het is een goed voorbeeld van hoe intens Microsoft zich inzet voor achterwaartse compatibiliteit.