Ketika saya mencoba untuk menyimpan file, jika saya menggunakan karakter khusus dalam nama (seperti titik dua, tanda tanya, atau tanda seru) di Windows saya mendapatkan pesan yang mengatakan bahwa nama file tidak valid.
Mengapa demikian?
Ketika saya mencoba untuk menyimpan file, jika saya menggunakan karakter khusus dalam nama (seperti titik dua, tanda tanya, atau tanda seru) di Windows saya mendapatkan pesan yang mengatakan bahwa nama file tidak valid.
Mengapa demikian?
Jawaban:
Ada beberapa karakter yang memiliki arti khusus untuk Windows (dan ke DOS, di mana sebagian besar karakter berasal dari)
dari MSDN :
Nama file tidak boleh mengandung karakter berikut:
\ /: *? "<> |
/
adalah saklar (dan juga pemisah direktori).
\
adalah pemisah direktori.
:
adalah penunjuk drive.
*
dan ?
wildcard digunakan dalam pencarian.
"
adalah cara untuk memungkinkan spasi dalam parameter.
<
dan >
pengalihan yang memungkinkan input dan output dari suatu program berasal, dan pergi ke, sesuatu selain layar / keyboard.
|
adalah pipa yang memungkinkan keluaran dari satu program untuk digunakan sebagai input ke program berikutnya.
\
?
*
dan "
satu-satunya yang benar-benar diperlukan dalam sintaksis saat ini, karena karakter lain hanya berguna di luar tanda kutip. Pengecualiannya adalah: yang hanya berguna sebagai karakter kedua, yang dapat dilarang sementara mengizinkannya di tempat lain. Dengan kata lain, tidak ada file bernama A:A letter's story.txt
, tetapi tidak ada masalah dengan file bernamaSarah: My favorite cat.txt
<>"
dicadangkan karakter wildcard. Windows menggunakannya untuk mengimplementasikan semantik kompleks untuk DOS *?.
ketika menerjemahkan ke bahasa asli NT, yang memiliki semantik sederhana untuk *?.
. Enam karakter wildcard dicadangkan karena Windows mengimplementasikan pencocokan wildcard dalam sistem file itu sendiri, yaitu langsung dalam NtQueryDirectoryFile
panggilan sistem, tanpa mekanisme melarikan diri. Di Unix, wildcard diimplementasikan pada level aplikasi, biasanya oleh shell yang mendukung pelariannya.
:
biasanya disediakan dalam nama file, tetapi tidak di jalur file. Ini digunakan untuk nama perangkat dan sebagai pembatas untuk aliran file (misalnya "nama file: streamname: streamtype"). Juga, beberapa sistem file seperti sistem file folder bersama VirtualBox memungkinkan :
,, |
dan karakter kontrol ASCII (1-31) dalam nama file, tetapi mereka dicadangkan di semua sistem file Microsoft kecuali untuk sistem file pipa bernama.