2013-04-18 44 views
-1

在某些批處理腳本中,我看到「C:\ Oracle \ MIDDLE〜1」用於表示路徑「C:\ Oracle \ Middleware」。我想知道爲什麼這是縮寫,以及'MIDDLE〜1'和'Middleware'之間的映射存儲在Windows中的哪個位置。你能幫忙嗎?Windows路徑中的短名稱

回答

1

窗口自動生成短文件名,以便與舊的基於MS-DOS或16位程序兼容,這些程序要求所有文件名都是8.3格式 - 即8個符號名稱和3個擴展名。有關如何從長名稱生成短名稱的詳細信息可以在這裏找到:https://technet.microsoft.com/en-us/library/cc976806.aspx

+0

謝謝,我明白了這部分內容。但是,如果我需要從縮短的表單中獲取完整的文件名,我該如何得到它? (在給出的例子中,我可以猜到,但不能總是這樣做) – user2275479

+0

例如,您可以使用powershell腳本從短路獲取完整路徑名。從命令行運行:powershell -Command「[System.IO.Path] :: GetFullPath(\」C:\\ PROGRA〜2 \\ desktop.ini \「);」 – Alexander

+0

鏈接到MS支持已經死亡。 – JWWalker

0

這是微軟管理長文件名的方式。

read it herehere

摘錄:

Long filenames (LFN), are Microsoft's way of implementing filenames longer than 
the 8.3 filename, or short-filename, naming scheme used in Microsoft DOS in their 
modern FAT and NTFS filesystems. Because these filenames can be longer than an 
8.3 filename, they can be more descriptive. Another advantage of this scheme is 
that it allows longer extensions common on other operating systems (e.g. .jpeg, 
.tiff, .html, and .xhtml) rather than specialized shortened names (e.g. .jpg, 
.tif, .htm, .xht). The first Microsoft Windows operating system to implement 
long filenames on FAT was Windows NT 3.5 in 1994. 

The long filename system allows a maximum length of 255 UTF-16 characters, 
including spaces and non-alphanumeric characters (excluding the following 
characters, which have special meaning within the command interpreter or the 
operating system kernel: \/: * ? " < > |). 
This is achieved by chaining up to 20 directory entries of 13 2-byte unicode 
characters each. 

To maintain compatibility with older operating systems, Microsoft formulated a 
method of generating an 8.3 filename from the long filename (for example, 
"Microsoft.txt" to "MICROS~1.TXT") and associating it with the file.