在Windows中禁用8.3格式的文件名
在很久之前,大概是Win3.x的時(shí)候,Windows中的文件名是由不超過(guò)8個(gè)字符的主文件名,和不超過(guò)3個(gè)字符的擴(kuò)展名組成。到了Windows 95的時(shí)候,這個(gè)長(zhǎng)度被擴(kuò)展成主文件名+擴(kuò)展名不超過(guò)255個(gè)字符。為了保證兼容性,Windows提供了一種轉(zhuǎn)換的方式,大意是用’~’和數(shù)字還縮短文件名的長(zhǎng)度,比如”C:\Program Files”被轉(zhuǎn)換成了”C:\Progra`1″。這種轉(zhuǎn)換使得一些老的應(yīng)用程序在新的Windows平臺(tái)上也可以使用,但它多多少少降低了系統(tǒng)的性能(文件索引之類)。
想知道自己的系統(tǒng)有沒(méi)有開(kāi)啟這個(gè)功能,可以通過(guò)以下命令查詢:
1
fsutil 8dot3name query c:
“c:”表示查詢C盤的狀態(tài)。如果功能被啟用,會(huì)顯示類似如下的信息:
Disable8dot3 的卷狀態(tài)為 0 (8dot3 名稱創(chuàng)建已啟用)。
NtfsDisable8dot3NameCreation 的注冊(cè)表狀態(tài)為默認(rèn)值 2 (卷級(jí)別設(shè)置)。
基于以上的兩個(gè)設(shè)置,在 c: 上啟用 8dot3 名稱創(chuàng)建。
如果在C盤上關(guān)閉這個(gè)功能,則可使用以下命令:
1
fsutil 8dot3name set C: 1
1表示禁用,0表示啟用。如果不寫盤符,則是全局設(shè)置,這時(shí)可選的有4個(gè)值:0(全部啟動(dòng)),1(全部禁用),2(每個(gè)盤符單獨(dú)設(shè)置),3(除系統(tǒng)盤外全部禁用)。全局設(shè)置也可以通過(guò)注冊(cè)實(shí)現(xiàn):
鍵:HKLM\SYSTEM\CurrentControlSet\Control\FileSystem
值:NTFSDisable8dot3NameCreation? 類型:REG_DWORD
可選的值就是上述的4個(gè)之一,在Windows 7(或者Windows Server 2008 R2)中的默認(rèn)值是2。
======================================
一、針對(duì)IIS6
?????就單純的解決這個(gè)問(wèn)題來(lái)說(shuō),微軟的URLScan工具是最適合的一個(gè)輕量級(jí)工具,關(guān)鍵它是免費(fèi)的,而且安裝、配置非常簡(jiǎn)單??梢詮倪@里下載:http://down.tech.sina.com.cn/page/41877.html。
????安裝過(guò)程就不說(shuō)了,傻瓜式的。
????安裝完畢之后,在需要做URL過(guò)濾的站點(diǎn)的屬性中,添加一個(gè)ISAPI篩選器,dll路徑位 于:C:WINDOWSsystem32inetsrvurlscan。該目錄下還有一個(gè)配置文件:UrlScan.ini,微軟的這篇文章里講的比較詳 細(xì)了:http://support.microsoft.com/kb/326444/zh-cn。
????對(duì)于“~”字符的過(guò)濾就非常簡(jiǎn)單了,在??[DenyUrlSequences]??節(jié)中加一個(gè) ~ 就行了。
二、針對(duì)IIS7
??????IIS7中已經(jīng)內(nèi)置了該功能。(IIS-》請(qǐng)求篩選-》URL-》添加拒絕序列-》URL序列設(shè)置為【~】)。
??????重啟IIS,搞定。