Share via


fsutil 8dot3name

適用於:Windows Server 2022、Windows Server 2019、Windows Server 2016、Windows 10、Windows Server 2012 R2、Windows 8.1、Windows Server 2012、Windows 8

查詢或變更簡短名稱 (8dot3 名稱) 行為的設定,包括:

  • 查詢簡短名稱行為的目前設定。

  • 掃描指定的目錄路徑,以找出如果從指定目錄路徑移除簡短名稱,可能會受到影響的登錄機碼。

  • 變更控制簡短名稱行為的設定。 此設定可以套用至指定的磁碟區或預設磁碟區設定。

  • 移除目錄中所有檔案的簡短名稱。

重要

永久移除 8dot3 檔案名稱,而不修改指向 8dot3 檔案名稱的登錄機碼,可能會導致非預期的應用程式失敗,包括無法卸載應用程式。 建議您先備份目錄或磁碟區,再嘗試移除 8dot3 檔案名稱。

語法

fsutil 8dot3name [query] [<volumepath>]
fsutil 8dot3name [scan] [/s] [/l [<log file>] ] [/v] <directorypath>
fsutil 8dot3name [set] { <defaultvalue> | <volumepath> {1|0}}
fsutil 8dot3name [strip] [/t] [/s] [/f] [/l [<log file.] ] [/v] <directorypath>

參數

參數 描述
query [<volumepath>] 查詢檔案系統,以取得 8dot3 簡短名稱建立行為的狀態。

如果未將 volumepath 指定為參數,則會顯示所有磁碟區的預設 8dot3name 建立行為設定。

掃描<directorypath> 掃描位於指定 directorypath 中的檔案,以找出如果從檔案名稱移除 8dot3 簡短名稱,可能會受到影響的登錄機碼。
set {<defaultvalue> \| <volumepath>} 變更在下列情況中建立 8dot3 名稱的檔案系統行為:
  • 指定 defaultvalue 時,登錄機碼 HKLM\System\CurrentControlSet\Control\FileSystem\NtfsDisable8dot3NameCreation 會設定為 defaultvalue

    DefaultValue 可以包含下列值:

    • 0:為系統上的所有磁碟區啟用 8dot3 名稱建立。
    • 1:為系統上的所有磁碟區停用 8dot3 名稱建立。
    • 2:依磁碟區設定 8dot3 名稱建立。
    • 3:停用系統磁碟區以外的所有磁碟區的 8dot3 名稱建立。
  • 指定 volumepath 時,磁碟旗標 8dot3name 屬性上的指定磁碟區會設定為啟用指定磁碟區 (0) 的 8dot3 名稱建立,或設定為停用指定磁碟區上的 8dot3 名稱建立 (1)。

    必須將 8dot3 名稱建立的預設檔案系統行為設定為值 2,才能啟用或停用指定磁碟區的 8dot3 名稱建立。

strip <directorypath> 移除位於指定 directorypath 中的所有檔案的 8dot3 檔案名稱。 如果 directorypath 與檔案名稱的組合超過 260 個字元,則不會刪除任何檔案的 8dot3 檔案名稱。

此命令會列出但不修改指向已永久移除 8dot3 檔案名稱之檔案的登錄機碼。

<volumepath> 指定磁碟機名稱後面跟著冒號或 GUID,格式為 volume{GUID}
/f 指定所有位於指定 directorypath 的檔案都會移除 8dot3 檔案名稱,即使有登錄機碼指向使用 8dot3 檔案名稱的檔案也一樣。 在此情況下,此作業會移除 8dot3 檔案名稱,但不會修改指向使用 8dot3 檔案名稱之檔案的任何登錄機碼。 警告:建議您在使用 /f 參數之前先備份目錄或磁碟區,因為它可能會導致非預期的應用程式失敗,包括無法卸載程式。
/l [<log file>] 指定寫入資訊的記錄檔。

如果未指定 /l 參數,則所有資訊都會寫入預設記錄檔:%temp%\8dot3_removal_log@(GMT YYYY-MM-DD HH-MM-SS).log**

/s 指定作業應該套用至指定 directorypath 的子目錄。
/t 指定應在測試模式下執行 8dot3 檔案名稱的移除。 除了實際移除 8dot3 檔案名稱以外的所有作業都會執行。 您可以使用測試模式來探索哪些登錄機碼指向使用 8dot3 檔案名稱的檔案。
/v 指定寫入記錄檔的所有資訊也會顯示在命令列上。

範例

若要查詢使用 GUID {928842df-5a01-11de-a85c-806e6f6e6963} 指定的磁碟區停用 8dot3 名稱行為,請輸入:

fsutil 8dot3name query volume{928842df-5a01-11de-a85c-806e6f6e6963}

您也可以使用 behavior 子命令來查詢 8dot3 名稱行為。

若要移除 D:\MyData 目錄中和所有子目錄中的 8dot3 檔案名稱,同時將資訊寫入指定為 mylogfile.log 的記錄檔,請輸入:

fsutil 8dot3name strip /l mylogfile.log /s d:\MyData