2010-03-18 145 views
2

我注意到,如果您從某些Windows文件(例如:C:\ Windows \ Media中的任何wav)中獲取Scripting.File對象,Scripting.File.ShortPath屬性將顯示長路徑。好奇的是,我放棄了命令提示符並嘗試了Dir/A/X,並且確信該目錄中的所有文件都缺少短路徑。Windows 7缺少短名稱

任何人都知道:
A.)那是什麼意思?
B.)如何獲得似乎沒有的文件的短路徑?

回答

6

A)NTFS不必包含短路徑(事實上有一個registry key在任何時候都禁用它)。看起來出於某種原因,沒有爲這些媒體文件創建短文件名。

B)不能,NTFS文件系統上的短路徑存儲爲不同的NTFS屬性,通常如果文件名可以符合8.3,則它只存儲一個,如果它不符合該條件,則它可以存儲長文件名和短文件名。如果短文件沒有被存儲,那麼就沒有辦法通過任何簡稱來引用該文件。

C)爲什麼你需要短文件名呢?

+0

C :)與舊的Win32 API調用遇到麻煩,並想看看是否給它一個短名稱有所作爲:) – 2010-03-19 16:02:05

+0

公平nuff,只是想知道:) – tyranid 2010-03-19 18:10:51

0

要在Windows啓動(F8)恢復控制檯之前重新創建短名稱,請逐一使用以下內容。

fsutil file setshortname <PathName> <shortname> 

確保短名稱首次啓用:

fsutil behavior set disable8dot3 0 

或者打開註冊表編輯器,定位到以下注冊表項:

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem 

找到找到NtfsDisable8dot3NameCreation值,然後雙擊它。 將NtfsDisable8dot3NameCreation值的數據更改爲0,然後單擊確定以保存更改。