پاک کردن فایل ها با نام طولانی در ویندوز

عنوان ممکنه مسخره به نظر بیاد ولی ویندوز هست و یکسری محدودیت های عجیب!

یکی از مشکلاتی که بعد از کار با nodejs ممکنه با اون مواجه بشوید پیغام خطا هنگام پاک کردن پوشه node_modules هست. این پوشه که توسط nodejs ایجاد می شود حاوی فایل های مربوط به پکیج ها و تنظیمات آن هست و بعضا به علت ساختار درختی بسیار زیاد با پیغام هایی مثل filenames are too long ممکن از روبرو بشوید.

راه حل های مختلفی در اینترنت برای پاک کردن این فایل ها معرفی شده و حتی برنامه هایی نیز برای این کار نوشته شده است. اما بهترین راه حلی که برای آن پیدا کرده ام استفاده از دستوری با نام robocopy هست.

کافیست خط فرمان ویندوز را باز کرده و عبارات زیر را براساس نام پوشه ای که دارید اجرا کنید:

mkdir empty_dir
robocopy empty_dir the_dir_to_delete /s /mir
rmdir empty_dir
rmdir the_dir_to_delete

خط اول یک پوشه خالی با نام empty_dir ایجاد می کند و خط بعدی پوشه خالی را بر روی پوشه مورد نظر کپی می کند به طوری که محتوای موجود پوشه دوم نیز خالی شود و ۲ دستور بعدی نیز ۲ پوشه موجود را پاک می کنند.

منبع