
Ringkas: Aturan penyimpanan Windows seperti larangan nama CON, penggunaan drive C:, dan pola *.* berasal dari kompatibilitas dengan DOS.
Windows 11 terlihat seperti sistem operasi modern, dengan sudut membulat, Fluent Design, layanan cloud, serta teknologi yang beberapa dekade lalu mungkin terasa mustahil. Namun, di balik tampilannya, masih ada keputusan arsitektur lama yang bertahan hingga sekarang. Setiap kali menyimpan file, memasang drive, atau mengetikkan path di Command Prompt, pengguna dapat berhadapan dengan aturan penyimpanan Windows yang dibentuk saat memori PC masih dihitung dalam kilobyte dan kapasitas penyimpanan sangat terbatas.
Nama file yang tidak boleh digunakan di Windows
Buka File Explorer, buat dokumen teks baru, lalu coba beri nama CON. Windows akan menolaknya. Hal yang sama berlaku untuk PRN, AUX, NUL, COM1, LPT1, dan sejumlah nama terkait lainnya. Mengubah ekstensi juga tidak membantu; CON.docx dan NUL.pdf tetap tidak dapat digunakan.
Alasannya berawal dari MS-DOS 1.0, ketika DOS mengakses perangkat keras tertentu melalui nama yang dapat digunakan perangkat lunak, dengan cara yang mirip seperti mengakses file.
Error: The specified device name is invalid.
Program yang ingin mengirim sesuatu ke printer dapat menulisnya ke PRN. CON merujuk pada console, yang mencakup input dari keyboard dan output ke layar. AUX berarti perangkat serial tambahan, sedangkan NUL berfungsi seperti tempat pembuangan data tanpa dasar untuk informasi yang ingin diabaikan program.
DOS 1.0 belum mendukung direktori sehingga hampir tidak ada ambiguitas. Ketika DOS 2.0 menambahkan subdirektori, nama-nama perangkat tersebut tetap harus berfungsi di folder mana pun yang sedang digunakan program. Perintah seperti COPY FILE.TXT PRN harus tetap berarti mengirim file ke printer, bukan membuat file bernama PRN di folder tersebut.
Microsoft mempertahankan tafsiran ini. Win32 masih mencadangkan nama-nama tersebut sebagai perangkat bergaya DOS, bukan memperlakukannya sebagai nama file biasa. Lebih dari empat dekade kemudian, perangkat lunak dan skrip masih dapat mengharapkan NUL dan CON memiliki fungsi yang kurang lebih sama seperti pada komputer DOS awal.
Mengapa drive utama Windows dimulai dari C:
Sebagian besar PC Windows masih memasang sistem operasi pada C:. Saat drive lain dihubungkan, drive tersebut mungkin mendapat huruf D:, E:, atau huruf setelahnya. Akibatnya, A: dan B: terlihat seperti bagian alfabet yang ditinggalkan.
Dua huruf pertama itu dikaitkan dengan floppy drive pada masa awal PC. DOS menggunakan A: untuk floppy drive pertama dan B: untuk floppy drive logis kedua. Beberapa komputer yang hanya memiliki satu floppy drive fisik bahkan dapat menampilkan kedua huruf tersebut dan meminta pengguna menukar disket ketika perangkat lunak berpindah di antara keduanya.
Ketika hard disk hadir di PC berbasis DOS, Microsoft perlu memasukkannya ke dalam sistem huruf drive yang sudah ada. Karena A: dan B: telah dikaitkan dengan floppy drive, hard disk pertama menggunakan C:. Floppy kemudian menghilang, dan Windows modern bahkan dapat memasang volume di dalam folder tanpa memberinya huruf drive. Saat ini, A: atau B: juga bisa diberikan ke penyimpanan lain.
Meski begitu, C: tetap menjadi lokasi standar Windows karena perangkat lunak, installer, skrip, dokumentasi, dan ekspektasi pengguna selama puluhan tahun telah dibangun di atasnya. Memindahkan drive sistem ke huruf yang lebih awal hampir tidak menyelesaikan masalah, tetapi dapat menimbulkan persoalan kompatibilitas besar.
Perbedaan path C:\Data dan C:Data
C:\Data dan C:Data tampak hampir sama, tetapi di Command Prompt keduanya dapat menunjuk ke lokasi berbeda.
C:\Data adalah path absolut. Garis miring terbalik setelah huruf drive memberi tahu Windows untuk memulai dari root drive C: dan mencari folder Data di sana. Sementara itu, C:Data bersifat relatif terhadap drive. Path tersebut dapat merujuk pada folder bernama Data di direktori saat ini pada drive C:.
Perilaku ini berasal dari DOS, yang mengingat direktori saat ini secara terpisah untuk setiap drive. Pengguna dapat bekerja jauh di dalam folder pada C:, berpindah ke D:, menjelajah ke lokasi lain, lalu kembali merujuk lokasi yang diingat DOS untuk C: tanpa mengetikkan seluruh path.
Program Win32 memiliki satu direktori saat ini untuk seluruh proses, tetapi Command Prompt meniru perilaku lama per drive demi kompatibilitas. Command Prompt bahkan mempertahankan variabel lingkungan internal seperti =C: untuk mengingat lokasi terakhir setiap drive. Karena itu, C:\Data merupakan bentuk yang lebih aman dalam skrip jika tujuan yang dimaksud benar-benar folder Data di root C:. Tanpa garis miring terbalik tersebut, tujuan dapat bergantung pada perintah-perintah sebelumnya.
Jejak nama file 8.3 dan pola *.*
Mengapa PROGRA~1 masih muncul
Sesekali Windows menampilkan nama aneh seperti PROGRA~1 ketika yang biasanya diharapkan adalah Program Files. Singkatan tersebut berasal dari sistem nama file 8.3 yang masih meninggalkan jejak di Windows. Nama file DOS klasik dibatasi menjadi delapan karakter sebelum titik dan tiga karakter setelahnya, seperti AUTOEXEC.BAT. Batasan itu tidak cocok untuk nama seperti Financial_Statement_2026.xlsx.
Saat Windows 95 membawa nama file panjang ke lini konsumen Microsoft yang berbasis DOS, kompatibilitas menjadi masalah. Program DOS lama dan program 16-bit masih mengharapkan nama pendek. Agar tetap kompatibel, Windows menyimpan alias 8.3 bersama nama file yang lebih panjang. Dari sinilah nama dengan tanda tilde muncul; Program Files biasanya ditampilkan sebagai PROGRA~1.
Aturan pembentukan nama sebenarnya lebih rumit daripada sekadar memotong nama menjadi enam karakter lalu menambahkan ~1, terutama ketika beberapa nama bertabrakan. Hal terpentingnya, nama panjang dan alias pendek dapat menunjuk file atau folder yang sama.
Windows 10 dan Windows 11 masih mendukung nama 8.3, meskipun tidak semua file pasti memilikinya. Pembuatan nama pendek dapat diaktifkan atau dinonaktifkan secara global maupun per volume. Microsoft juga masih menyediakan perintah fsutil 8dot3name untuk mengelolanya.
Microsoft memperingatkan pengguna agar tidak sembarangan menghapus nama pendek yang sudah ada karena perangkat lunak lama mungkin masih bergantung padanya. Dalam beberapa kasus, penghapusan alias dapat merusak aplikasi atau bahkan membuat perangkat lunak tidak dapat dihapus dengan benar.
Mengapa *.* berarti semua file
Di Command Prompt, *.* secara tradisional berarti semua isi direktori. Jika dibaca secara harfiah, pola itu terdengar lebih sempit: semua nama file, diikuti titik, lalu ekstensi apa pun. Dengan pemahaman tersebut, file seperti Notes seharusnya tidak ikut ditemukan.
DOS menangani nama file secara berbeda. Format 8.3 klasik menyimpan nama dan ekstensi sebagai dua bidang dengan panjang tetap: delapan karakter pertama untuk nama dan tiga karakter berikutnya untuk ekstensi. Titik yang terlihat di layar hanya pemisah antara kedua bidang tersebut, bukan karakter biasa yang menggunakan ruang di dalam struktur nama file.
Ketika DOS memproses *.*, tanda bintang pertama mencocokkan bidang nama dan tanda bintang kedua mencocokkan bidang ekstensi. File tanpa ekstensi tetap memiliki bidang ekstensi, hanya saja bidang itu kosong, sehingga pola tersebut tetap cocok. Dari sinilah *.* menjadi singkatan untuk semua file.
Win32 meninggalkan algoritma pencocokan nama file DOS lama ketika nama file panjang membuat model tersebut tidak praktis. Namun, Microsoft mempertahankan beberapa keunikannya demi kompatibilitas. Salah satunya adalah perilaku *.* yang tetap berarti secara efektif semua file, bukan hanya nama file yang mengandung titik literal. Mengubah perilaku itu dapat membuat skrip dan program lama melewatkan file tanpa ekstensi yang sebelumnya selalu mereka tangani.
Aturan penyimpanan Windows tersebut mungkin terlihat sewenang-wenang pada PC Windows 11 karena kondisi perangkat keras dan perangkat lunak yang melahirkannya telah hilang sejak beberapa dekade lalu. CON, C:, PROGRA~1, C:Data, dan *.* jauh lebih masuk akal pada masa floppy disk, nama file pendek, dan program yang dibangun berdasarkan konvensi DOS.
Itu juga bukan satu-satunya peninggalan lama yang masih ada. Windows 11 tetap mendukung banyak fitur lawas karena Microsoft selama puluhan tahun mempertahankan perilaku yang mungkin masih diharapkan perangkat keras dan perangkat lunak yang ada. Biasanya, pengguna tidak menyadari sejarah tersebut. Namun, saat mencoba memberi nama file CON atau bertanya mengapa alfabet drive dimulai dari C:, jejak DOS kembali terlihat.
Poin penting
- Nama perangkat CON dan NUL
- Drive utama tetap C:
- Perbedaan path C:\Data dan C:Data
- Alias file 8.3 PROGRA~1
- Pola *.* untuk semua file
- Aturan penyimpanan Windows warisan DOS
Sumber: https://www.makeuseof.com/these-windows-storage-rules-that-make-no-sense-until-you-remember-dos/