Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學

檔案名稱過長無法刪除怎麼辦?.bat腳本繞過255字元限制強制刪除

編輯:Win7 系統應用技巧

Windows 檔案系統 (NTFS) 單個路徑分量限制 **255 字元**,全路徑限制 **260 字元 (MAX_PATH)**。超限檔案/資料夾無法在總管/FAR/命令列正常刪除/移動/複製。利用 `\\?\` 前綴繞過解析器限制,配合 `DEL / RD` 強制刪除。

原理:`\\?\` 擴展長度路徑前綴

  • 路徑以 `\\?\` 開頭 → 檔案系統 API 直接傳遞給物件管理器,**跳過路徑解析器 (MAX_PATH 檢查)**
  • 支援長度:理論 **32,767 字元** (NTFS 實際限制)
  • 格式:`\\?\C:\Very\Long\Path\...` (本地) / `\\?\UNC\Server\Share\...` (網路)

.bat 腳本製作與使用

  1. 新建文字文件 → 貼入代碼:
    @echo off
    DEL /F /A /Q "\\?\%1"
    RD /S /Q "\\?\%1"
    
  2. 儲存為 `del_longpath.bat` (編碼 ANSI/UTF-8 均可)
  3. 新建文字文件

    檔案名稱過長錯誤

  4. 將超長路徑檔案/資料夾 **拖曳到 `del_longpath.bat` 圖示上** 即可強制刪除
  5. 拖曳刪除

    刪除成功

進階:PowerShell 原生支援長路徑 (Win10 1607+ / Win11)

# 啟用長路徑支援 (需管理員)
Set-ItemProperty 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -Type DWord
# 重啟後原生 Cmdlet 支援 >260 字元路徑
Remove-Item -LiteralPath "C:\Very\Long\Path\..." -Recurse -Force

專家建議

  • 預防勝於治療:專案目錄結構控制在 3-4 層,資料夾命名簡潔 (英文/拼音縮寫),避免中文長命名疊加
  • 同步工具 (OneDrive/Google Drive/Dropbox) 遇長路徑同步失敗,需啟用長路徑支援或縮短本地同步根目錄
  • 開發者:編譯輸出目錄 (`bin`/`obj`/`dist`/`build`) 設在淺層路徑 (如 `D:\Builds\ProjectX`)
  • 企業部署:群組原則 `Computer Configuration\Administrative Templates\System\Filesystem\Enable Win32 long paths` → 啟用

一個 `del_longpath.bat` 放桌面備用,遇超長路徑頑固檔案拖曳即刪,告別「檔案名稱過長無法刪除」的無力感。

Copyright © Windows教程網 All Rights Reserved