Guide fselect : Recherchez votre disque dur avec SQL, la forme ultime de la recherche de fichiers
fselect : Quand la recherche de fichiers rencontre SQL, tout devient élégant
Solution en une phrase : Lorsque vous avez besoin de trouver des fichiers avec des conditions complexes comme « fichiers PDF de plus de 100 Mo, modifiés après janvier 2024, dans le dossier projets sur le disque D, » fselect vous permet de le faire avec une seule requête SQL.
Everything est effectivement rapide pour rechercher des fichiers, mais ses capacités de requête sont limitées. Lorsque vous devez combiner plusieurs conditions, trier de manières spécifiques, ou même agréger des informations de fichiers à travers des dossiers, Everything montre ses limites.
C’est là que fselect entre en jeu.
Qu’est-ce que fselect ?
fselect est un outil de recherche de fichiers en ligne de commande avec une caractéristique majeure — il vous permet d’utiliser la syntaxe SQL pour rechercher des fichiers.
Oui, vous avez bien lu. SELECT, WHERE, ORDER BY — ces mots-clés SQL — pour rechercher votre disque dur.
Les problèmes fondamentaux que fselect résout :
- Recherches combinées de conditions complexes → exprimez-les flexiblement avec SQL
- Agrégation d’informations de fichiers → count/avg/sum directs
- Opérations par lots basées sur des conditions → pipez les résultats directement vers d’autres commandes
- Expérience multi-plateforme cohérente → même syntaxe sur Mac/Linux/Windows
Quelle est la satisfaction d’utilisation ?
Scénario 1 : Recherche conditionnelle complexe
Avec Everything, rechercher des « fichiers vidéo de plus de 1 Go » nécessite de naviguer dans les filtres. Avec fselect, une seule ligne suffit :
fselect "name, size, path FROM files WHERE type = 'video' AND size > 1g ORDER BY size DESC"
Les résultats sont listés directement, triés par taille décroissante.
Scénario 2 : Trouver les gros fichiers pour nettoyer l’espace disque
Le disque est plein et vous voulez trouver les gros fichiers à nettoyer ?
fselect "path, size FROM files WHERE size > 500m ORDER BY size DESC LIMIT 20"
Liste les 20 plus gros fichiers de votre disque, sans en manquer un seul.
Scénario 3 : Compter les fichiers
fselect "COUNT(*), LOWER(extension) FROM /path/to/project WHERE type = 'image' GROUP BY LOWER(extension)"
Une seule commande pour compter combien d’images de chaque format se trouvent dans votre projet.
Scénario 4 : Recherche approfondie
Vous voulez trouver tous les fichiers Excel contenant le mot-clé « rapport » dans C:\Work\Projects, créés après 2024 ?
fselect "name, path, created FROM C:/Work/Projects WHERE name LIKE '%rapport%' AND extension = 'xlsx' AND created > '2024-01-01'"
Everything ne peut pas atteindre ce niveau de détail, mais fselect le gère facilement.
Comparaison avec les outils similaires
| Aspect | fselect | Everything | Recherche système |
|---|---|---|---|
| Syntaxe de requête | SQL | Mots-clés | Mots-clés |
| Combinaisons de conditions complexes | ⭐⭐⭐⭐⭐ | ⭐⭐⭐ | ⭐⭐ |
| Vitesse de recherche | Rapide (indexée) | Très rapide (index NTFS) | Lente |
| Agrégation statistique | Supportée | Non supportée | Non supportée |
| Interface graphique | Non (pure ligne de commande) | Oui | Oui |
| Courbe d’apprentissage | Moyenne-élevée | Très faible | Faible |
fselect est pour : Vous êtes à l’aise avec la ligne de commande, vous devez fréquemment trouver des fichiers selon des conditions spécifiques, ou vous avez besoin d’agréger des informations sur les fichiers.
Retours utilisateurs
- Hacker News : « Enfin, quelqu’un a créé l’outil ‘SELECT * FROM files WHERE…’ que je voulais depuis des années. »
- Programmeur Zhihu @ByteFlow : « La première fois que j’ai utilisé fselect pour rechercher des fichiers, c’était comme avoir une vue à vol d’oiseau. »
- Reddit r/commandline : « fselect est ce que chaque développeur souhaite que la recherche Windows puisse être. »
Résumé des avantages et inconvénients
Avantages
- L’expression SQL est extrêmement puissante, les requêtes complexes sont sans effort
- Vitesse de recherche rapide avec optimisation d’index
- Support multi-plateforme (Windows/Mac/Linux)
- Peut être combiné avec d’autres outils en ligne de commande
- Supporte l’agrégation, le regroupement, le tri et autres fonctionnalités avancées
Inconvénients
- Pure ligne de commande, pas d’interface graphique
- Nécessite d’apprendre la syntaxe SQL (bien que le SQL de base suffise)
- Ne s’indexe pas automatiquement par défaut, la première recherche dans un répertoire est légèrement plus lente
- Le support des noms de fichiers chinois peut avoir des problèmes dans certains scénarios
- Ne convient pas aux utilisateurs réguliers qui veulent juste trouver rapidement un fichier
Téléchargement et installation
Installation Windows
Méthode 1 : Via Scoop (recommandé)
scoop install fselect
Méthode 2 : Via Chocolatey
choco install fselect
Méthode 3 : Téléchargement depuis GitHub
- https://github.com/jhspetersson/fselect/releases
- Téléchargez le binaire pour votre système, extrayez et ajoutez au PATH
Note : L’installation via Scoop ou Chocolatey configure automatiquement les variables d’environnement, bien plus pratique que le téléchargement manuel.
Démarrage rapide
- Après installation, ouvrez un terminal (CMD ou PowerShell)
- Essayez la recherche la plus simple :
fselect "name FROM C:/Users" LIMIT 10 - Filtrez par type :
fselect "name, path FROM C:/Downloads WHERE type = 'image'" - Filtrez par taille :
fselect "name, size FROM C:/ WHERE size > 100m" - Essayez l’agrégation :
fselect "COUNT(*), extension FROM D:/Documents GROUP BY extension"
Modèles de requête courants
# Trouver les gros fichiers récemment modifiés
fselect "name, path, modified FROM C:/ WHERE size > 500m AND modified > '2025-01-01'"
# Compter les types de fichiers et les tailles totales
fselect "COUNT(*), SUM(size), extension FROM D:/Projects GROUP BY extension ORDER BY COUNT(*) DESC"
# Trouver des fichiers par extension et mot-clé
fselect "name, path FROM C:/Work WHERE extension IN ('pdf', 'docx') AND name LIKE '%rapport%'"
# Trouver les fichiers vides
fselect "name, path FROM E:/Backup WHERE size = 0"
Conclusion
fselect n’est pas pour tout le monde. Les utilisateurs réguliers s’en sortent très bien avec Everything. Mais si vous êtes un développeur, un analyste de données, ou un utilisateur intensif d’ordinateur qui doit fréquemment trouver des fichiers avec des conditions complexes, fselect vous offre une flexibilité qu’Everything ne peut égaler.
Une fois que vous vous serez habitué à utiliser fselect "SELECT * FROM files WHERE..." pour examiner votre disque dur, l’ensemble de votre système de fichiers commencera à ressembler à une base de données — recherchez ce que vous voulez.
Résumé en une phrase : Tout peut être SQL, et la recherche de fichiers ne fait pas exception.