این خطا معمولاً زمانی دیده میشود که مجموع طول مسیر فایل و پوشههای بالادستی از محدودهای که برنامه یا رابط ویندوز پشتیبانی میکند بیشتر شود. در ویندوز محدودیت قدیمی MAX_PATH برابر ۲۶۰ کاراکتر بود و هنوز هم بعضی برنامهها به همین محدودیت وابسته هستند. مایکروسافت از ویندوز ۱۰ نسخه 1607 پشتیبانی از مسیرهای طولانیتر را برای بخشی از APIهای Win32 اضافه کرد، اما فعال شدن این قابلیت به پشتیبانی خود برنامه هم وابسته است.
به همین دلیل ممکن است یک فایل با نام بسیار طولانی در یک برنامه بدون مشکل باز شود اما هنگام انتقال، تغییر نام یا استخراج آن با خطای Path Too Long یا Filename Is Too Long مواجه شوید. این موضوع در فایلهای فشرده، پروژههای برنامهنویسی و پوشههایی با چندین لایه زیرپوشه بیشتر دیده میشود.
چرا خطای طولانی بودن مسیر فایل در ویندوز ایجاد میشود؟
قدیمیترین بخش این مشکل به محدودیت MAX_PATH برمیگردد. در حالت سنتی بسیاری از برنامههای ویندوز نمیتوانستند مسیرهایی با طول بیشتر از ۲۶۰ کاراکتر را به شکل عادی مدیریت کنند. این عدد فقط نام فایل نیست و کل مسیر را شامل میشود؛ یعنی نام درایو، پوشهها، زیرپوشهها، نام فایل و پسوند همگی در طول مسیر محاسبه میشوند.
به عنوان مثال اگر فایل داخل چندین پوشه تو در تو قرار داشته باشد و هر پوشه نام نسبتاً طولانی داشته باشد، حتی یک نام معمولی برای فایل هم میتواند باعث عبور کل مسیر از این محدودیت شود. این وضعیت هنگام استخراج فایلهای ZIP یا کلون کردن پروژههایی با ساختار پوشهای عمیق هم اتفاق میافتد.
ویندوز ۱۰ و ویندوز ۱۱ امکان استفاده از مسیرهای طولانیتر را فراهم کردهاند، اما این قابلیت به صورت مطلق تمام محدودیتها را حذف نمیکند. برنامه باید برای پشتیبانی از مسیرهای طولانی آماده شده باشد و تنظیم مربوط به ویندوز نیز فعال باشد.
چه زمانی فعال کردن مسیرهای طولانی مفید است؟
اگر هنگام کپی کردن، انتقال، حذف یا استخراج فایل با خطای طولانی بودن مسیر مواجه میشوید، فعال کردن پشتیبانی از مسیرهای طولانی میتواند مشکل را در برنامههای سازگار برطرف کند.
این قابلیت برای کاربرانی که با پروژههای برنامهنویسی، فایلهای حجیم، پوشههای چندلایه یا آرشیوهای دانلودشده کار میکنند کاربرد بیشتری دارد. با این حال اگر فقط یک فایل خاص مشکل دارد، کوتاه کردن نام پوشههای بالادستی معمولاً سادهترین راهحل است.
فعال کردن قابلیت Long Paths در ویندوز ۱۱ با Group Policy
اگر از نسخههای حرفهای ویندوز ۱۱ مانند Pro یا Enterprise استفاده میکنید، میتوانید قابلیت مسیرهای طولانی را از Group Policy فعال کنید. مایکروسافت تنظیم Enable Win32 long paths را برای همین منظور در Group Policy قرار داده است.
برای باز کردن Group Policy Editor میتوانید پنجره Run ویندوز را باز کنید و gpedit.msc را وارد کنید. سپس مسیر زیر را دنبال کنید:
Computer Configuration → Administrative Templates → System → Filesystem
پیکربندی رایانه ← قالبهای مدیریتی ← سیستم ← سیستم فایل
در پنجره سمت راست گزینه Enable Win32 long paths را پیدا کنید و روی آن دوبار کلیک کنید. سپس گزینه Enabled را انتخاب کنید و روی Apply و بعد OK کلیک کنید.
پس از انجام تنظیمات بهتر است ویندوز را ریاستارت کنید تا برنامههایی که قبل از تغییر تنظیمات اجرا شدهاند نیز مقدار جدید را دریافت کنند. مایکروسافت اشاره میکند که مقدار مربوط به مسیرهای طولانی ممکن است در طول اجرای یک پردازش در حافظه باقی بماند.
فعال کردن مسیرهای طولانی در Windows 11 Home با Registry
نسخه Home معمولاً Group Policy Editor را در اختیار کاربر قرار نمیدهد. در این شرایط میتوانید همان قابلیت را از Registry فعال کنید. این روش روی نسخههای مختلف ویندوز ۱۰ و ویندوز ۱۱ قابل استفاده است.
قبل از تغییر Registry بهتر است از بخش موردنظر نسخه پشتیبان تهیه کنید. سپس برای باز کردن Registry Editor میتوانید پنجره Run ویندوز را باز کنید و regedit را وارد کنید.
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlFileSystem
در این بخش مقدار LongPathsEnabled را پیدا کنید. اگر وجود داشت روی آن دوبار کلیک کنید و مقدار Value data را روی 1 قرار دهید.
اگر این مقدار وجود نداشت، در بخش خالی سمت راست کلیک راست کنید و از گزینه New یک مقدار DWORD (32-bit) Value بسازید. نام آن را LongPathsEnabled قرار دهید و مقدار آن را 1 تنظیم کنید.
مایکروسافت نیز همین مقدار Registry را با نوع REG_DWORD و مقدار 1 برای فعال کردن قابلیت مسیرهای طولانی معرفی کرده است. پس از تغییر مقدار بهتر است ویندوز را ریاستارت کنید.
آیا فعال کردن Long Paths محدودیت ۲۶۰ کاراکتر را برای همه برنامهها حذف میکند؟
خیر. این نکته بسیار مهم است. فعال کردن Group Policy یا قرار دادن مقدار LongPathsEnabled روی 1 به تنهایی باعث نمیشود تمام برنامههای ویندوز بتوانند مسیرهای بسیار طولانی را مدیریت کنند.
برنامهای که میخواهد از مسیرهای طولانی استفاده کند باید خودش برای این قابلیت آماده شده باشد و در Manifest خود گزینه longPathAware را اعلام کند. بنابراین ممکن است یک برنامه پس از فعال کردن Long Paths بدون مشکل کار کند اما برنامهای قدیمی همچنان خطای طول مسیر را نمایش دهد.
اگر هنوز خطای Path Too Long نمایش داده میشود چه کار کنیم؟
اگر بعد از فعال کردن قابلیت همچنان خطا دریافت میکنید، ابتدا مسیر را کوتاه کنید. انتقال پوشه اصلی به مسیر نزدیکتر به ریشه درایو میتواند تعداد زیادی از کاراکترهای مسیر را حذف کند.
به عنوان مثال اگر فایل در چندین پوشه تو در تو در مسیر Documents قرار دارد، انتقال پوشه اصلی به یک مسیر کوتاه مانند C:Work میتواند مشکل را برطرف کند. کوتاه کردن نام پوشههای بالادستی نیز اثر مشابهی دارد.
همچنین باید توجه داشته باشید که File Explorer و بعضی برنامههای قدیمی هنوز محدودیتهای مخصوص خودشان را دارند. حتی فعال بودن Long Paths نیز تضمین نمیکند که همه عملیات ایجاد، تغییر نام یا انتقال فایل در File Explorer برای مسیرهای بسیار طولانی انجام شود. مایکروسافت نیز تأکید میکند که پشتیبانی واقعی به برنامهای که فایل را مدیریت میکند بستگی دارد.
در سرویسهایی مانند OneDrive و SharePoint نیز محدودیتهای جداگانهای وجود دارد. بنابراین اگر فایل داخل پوشه همگامسازیشده قرار دارد، صرفاً فعال کردن Long Paths لزوماً تمام خطاهای مربوط به مسیر را برطرف نمیکند.
بهترین راه برای جلوگیری از خطای طول مسیر فایل
اگر زیاد با این مشکل مواجه میشوید، بهتر است ساختار پوشهها را از ابتدا ساده نگه دارید. استفاده از نامهای کوتاهتر برای پوشههای اصلی و جلوگیری از ایجاد تعداد زیادی پوشه تو در تو میتواند احتمال بروز خطا را کاهش دهد.
در کنار آن میتوانید Long Paths را در ویندوز فعال نگه دارید تا برنامههای سازگار بتوانند از مسیرهای طولانیتر استفاده کنند. اگر برنامهای قدیمی همچنان خطا میدهد، مشکل احتمالاً از محدودیت همان برنامه است و تغییر تنظیمات ویندوز به تنهایی کافی نخواهد بود.
جمعبندی
برای رفع خطای Path Too Long در ویندوز ۱۱ ابتدا میتوانید قابلیت Enable Win32 long paths را از Group Policy فعال کنید. در Windows 11 Home نیز امکان انجام همین کار از طریق مقدار LongPathsEnabled در Registry وجود دارد.
با این حال نباید انتظار داشت این تغییر تمام محدودیتهای مربوط به نام فایل و مسیر را در همه نرمافزارها حذف کند. اگر مشکل باقی ماند، کوتاه کردن مسیر پوشهها و انتقال فایل به مسیری نزدیکتر به ریشه درایو معمولاً یکی از سادهترین راهکارها است.
سادهگو