دليل fselect: ابحث في قرصك الصلب باستخدام SQL، الشكل النهائي للبحث عن الملفات

fselect: عندما يلتقي البحث عن الملفات مع SQL، يصبح كل شيء أنيقًا

الحل في جملة واحدة: عندما تحتاج إيجاد ملفات بشروط معقدة مثل “ملفات PDF أكبر من 100 ميجابايت، معدلة بعد يناير 2024، في مجلد المشاريع على محرك D”، يتيح لك fselect القيام بذلك باستعلام SQL واحد.

Everything سريع بالفعل في البحث عن الملفات، لكن قدراته على الاستعلام محدودة. عندما تحتاج الجمع بين شروط متعددة، أو الفرز بطرق محددة، أو حتى تجميع معلومات الملفات عبر المجلدات، يقصر Everything.

هنا يأتي دور fselect.

ما هو fselect؟

fselect هي أداة بحث عن الملفات عبر سطر الأوامر بميزة رئيسية واحدة — تتيح لك استخدام صياغة SQL للبحث عن الملفات.

نعم، قرأت ذلك بشكل صحيح. SELECT، WHERE، ORDER BY — كلمات SQL الرئيسية — للبحث في قرصك الصلب.

المشكلات الأساسية التي يحلها fselect:

  • البحث بدمج شروط معقدة → التعبير عنها بمرونة باستخدام SQL
  • تجميع معلومات الملفات → count/avg/sum مباشرة
  • عمليات دفعات مبنية على شروط → توجيه النتائج مباشرة إلى أوامر أخرى
  • تجربة متسقة عبر المنصات → نفس الصياغة على ماك/لينكس/ويندوز

ما مدى إرضاء استخدامه؟

السيناريو 1: بحث بشروط معقدة

مع Everything، البحث عن “ملفات فيديو أكبر من 1 جيجابايت” يتطلب النقر عبر الفلاتر. مع fselect، سطر واحد يفي بالغرض:

fselect "name, size, path FROM files WHERE type = 'video' AND size > 1g ORDER BY size DESC"

النتائج تُعرض مباشرة، مرتبة حسب الحجم تنازليًا.

السيناريو 2: إيجاد الملفات الكبيرة لتنظيف مساحة القرص

القرص ممتلئ وتريد إيجاد ملفات كبيرة لتنظيفها؟

fselect "path, size FROM files WHERE size > 500m ORDER BY size DESC LIMIT 20"
"

يسرد أكبر 20 ملفًا على قرصك، دون تفويت أي ملف.

### السيناريو 3: عد الملفات

```bash
fselect "COUNT(*), LOWER(extension) FROM /path/to/project WHERE type = 'image' GROUP BY LOWER(extension)"

أمر واحد لعد عدد الصور من كل صيغة في مشروعك.

السيناريو 4: بحث عميق

تريد إيجاد جميع ملفات Excel التي تحتوي على الكلمة المفتاحية “تقرير” في C:\Work\Projects، التي أُنشئت بعد 2024؟

fselect "name, path, created FROM C:/Work/Projects WHERE name LIKE '%report%' AND extension = 'xlsx' AND created > '2024-01-01'"

Everything لا يمكنه القيام بهذا المستوى من التفصيل، لكن fselect يتعامل معه بسهولة.

مقارنة مع الأدوات المماثلة

الجانبfselectEverythingبحث النظام
صياغة الاستعلامSQLكلمات مفتاحيةكلمات مفتاحية
دمج الشروط المعقدة⭐⭐⭐⭐⭐⭐⭐⭐⭐⭐
سرعة البحثسريعة (مفهرسة)سريعة جدًا (فهرس NTFS)بطيئة
التجميع الإحصائيمدعومغير مدعومغير مدعوم
واجهة رسوميةلا (سطر أوامر نقي)نعمنعم
منحنى التعلممتوسط-عالٍمنخفض جدًامنخفض

fselect مناسب لـ: أنت مرتاح مع سطر الأوامر، تحتاج بشكل متكرر إيجاد ملفات بشروط محددة، أو تحتاج تجميع معلومات الملفات دفعة واحدة.

تعليقات المستخدمين

  • Hacker News: “أخيرًا، شخص ما صنع أداة ‘SELECT * FROM files WHERE…’ التي تمنيتها لسنوات.”
  • مبرمج Zhihu @ByteFlow: “في المرة الأولى التي استخدمت فيها fselect للبحث عن الملفات، شعرت وكأن لدي رؤية شاملة.”
  • Reddit r/commandline: “fselect هو ما يتمنى كل مطور أن يكون عليه بحث ويندوز.”

ملخص الإيجابيات والسلبيات

الإيجابيات

  • تعبير SQL قوي جدًا، استعلامات معقدة بلا جهد
  • سرعة بحث عالية مع تحسين الفهرس
  • دعم عبر المنصات (ويندوز/ماك/لينكس)
  • يمكن ربطه بأدوات سطر أوامر أخرى
  • يدعم التجميع والفرز والترتيب وغيرها من الميزات المتقدمة

السلبيات

  • سطر أوامر نقي، لا واجهة رسومية
  • يتطلب تعلم صياغة SQL (على الرغم من أن SQL الأساسية كافية)
  • لا يقوم بالفهرسة التلقائية افتراضيًا، أول بحث في دليل أبطأ قليلاً
  • دعم أسماء الملفات بالعربية قد يكون مشكلة في بعض السيناريوهات
  • غير مناسب للمستخدمين العاديين الذين يريدون فقط إيجاد ملف بسرعة

التنزيل والتثبيت

تثبيت ويندوز

الطريقة 1: عبر Scoop (موصى به)

scoop install fselect

الطريقة 2: عبر Chocolatey

choco install fselect

الطريقة 3: تنزيل من GitHub

ملاحظة: التثبيت عبر Scoop أو Chocolatey يضبط متغيرات البيئة تلقائيًا، أكثر ملاءمة بكثير من التنزيل اليدوي.

بداية سريعة

  1. بعد التثبيت، افتح Terminal (CMD أو PowerShell)
  2. جرب أبسط بحث: fselect "name FROM C:/Users" LIMIT 10
  3. صفّ حسب النوع: fselect "name, path FROM C:/Downloads WHERE type = 'image'"
  4. صفّ حسب الحجم: fselect "name, size FROM C:/ WHERE size > 100m"
  5. جرب التجميع: fselect "COUNT(*), extension FROM D:/Documents GROUP BY extension"

قوالب استعلام شائعة

# إيجاد ملفات كبيرة معدلة حديثًا
fselect "name, path, modified FROM C:/ WHERE size > 500m AND modified > '2025-01-01'"

# عد أنواع الملفات والأحجام الإجمالية
fselect "COUNT(*), SUM(size), extension FROM D:/Projects GROUP BY extension ORDER BY COUNT(*) DESC"

# إيجاد ملفات بالامتداد والكلمة المفتاحية
fselect "name, path FROM C:/Work WHERE extension IN ('pdf', 'docx') AND name LIKE '%report%'"

# إيجاد ملفات فارغة
fselect "name, path FROM E:/Backup WHERE size = 0"

الخلاصة

fselect ليس للجميع. المستخدمون العاديون بخير مع Everything. لكن إذا كنت مطورًا أو محلل بيانات أو مستخدم كمبيوتر ثقيل تحتاج بشكل متكرر إيجاد ملفات بشروط معقدة، يمنحك fselect مرونة لا تستطيع Everything مجاراتها.

بمجرد أن تعتاد استخدام fselect "SELECT * FROM files WHERE..." لمسح قرصك الصلب، سيبدأ نظام الملفات بأكمله في الشعور وكأنه قاعدة بيانات — ابحث عن أي شيء تريده.

خلاصة في جملة واحدة: كل شيء يمكن أن يكون SQL، والبحث عن الملفات ليس استثناءً.

تحميل

بعض الروابط على هذه الصفحة هي روابط تابعة. قد نكسب عمولة صغيرة دون أي تكلفة إضافية عليك. جميع التوصيات تستند إلى مراجعات موضوعية.