Dans le menu contextuel des fichiers se trouvent souvent quelques options pratiques ajoutées par vos logiciels. Que diriez-vous d’en ajouter par vous-même ? Ces options vous permettront de gagner un temps non négligeable : au lieu d’ouvrir un programme et d’y effectuer l’action voulue, un petit clic droit sur le fichier et hop, c’est réglé !

Comme détaillé dans l'article Éditer les extensions de fichiers, le fonctionnement des types et extensions de fichiers de Windows permet de définir différentes propriétés et actions possibles pour vos fichiers, ainsi que des paramètres distincts pour chaque utilisateur. Bien que très flexible, l'édition de ces informations via l'éditeur du Registre s'avère rapidement rébarbative, c'est pourquoi vous pouvez également utiliser le logiciel FileTypesMan qui permet d'effectuer bien plus rapidement ces modifications.

Cependant, et même si l'édition se fait rapidement avec ce logiciel, un problème se posera si vous réinstallez régulièrement votre système, utilisez plusieurs ordinateurs, ou voulez partager vos actions personnalisées avec vos amis : si vous changez d'ordinateur, il faut alors réinstaller l'éventuel programme nécessaire à l'édition de l'action et recommencer l'édition du registre, et ce pour chaque actions que vous souhaitez réinstaller, ce qui s'avère rapidement rébarbatif. C'est pourquoi, afin de simplifier grandement la tâche, j'ai écrit à cet effet le programme FileActionsManager qui vous permet de définir vos actions dans un fichier de configuration.

Gestion des actions

FileActionsManager ne nécessite pas les droits Administrateur car il ne modifie que la partie du Registre propre à votre compte utilisateur, en tirant parti du fait qu'un utilisateur peut utiliser des paramètres personnalisés pour ses types de fichiers. L'outil ne possède pas d'interface graphique et n'affiche que des boîtes de dialogue simples. Lorsque vous ouvrez un fichier de configuration avec FileActionsManager, le programme vous proposera d'installer l'action, ou de la désinstaller si elle existe déjà :

File Actions Manager : Installer une action

Dans les autres cas, FileActionsManager vous propose de s'associer ou se désassocier avec les fichiers .seinf :

File Actions Manager : Associer avec les fichiers seinf

Les messages sont en anglais mais cela ne devrait pas pas rebuter les francophones tant ils sont explicites et peu nombreux 🙂

Fichier de configuration

Les fichiers .seinf sont de simples fichiers texte utilisant la syntaxe INI, souvent rencontrée sous Windows.
Par exemple, le fichier de configuration suivant permet d'optimiser les images avec RIOT :

[ShellExtension]
Ext=bmp,png,gif,jpg
Name=optimizeimagesize
DisplayName=Optimiser la taille
Command=Riot.exe "%1"
Requires=Riot.exe,FreeImage.dll
Default=false

Chaque champ a la fonction suivante :

  • Ext : Une liste d'extensions séparées par des virgules pour lesquelles créer l'action.
  • Name : Nom interne de l'action, doit être unique pour ne pas écraser une autre action.
  • DisplayName : Le texte à afficher dans le menu contextuel dans l'explorateur Windows.
  • Command : La commande associée avec l'action. Voir Éditer les extensions de fichiers pour plus de détails.
  • Requires : Optionnel. Fichiers requis pour le bon fonctionnement de l'action. Voir ci-dessous pour plus de détails.
  • Default : Optionnel. Définit si l'action sera l'action par défaut (valeur par défaut: false).

Note : Certains types de fichiers dans Windows n'ont pas d'action par défaut, et Windows prend la première action de la liste. Il est possible de contourner le problème en choisissant un nom interne de type zzmonaction avant d'installer l'action, de sorte que celle-ci ne soit pas en première position dans la liste et donc ne soit pas choisie comme action par défaut.

Ajouter des fichiers complémentaires

En utilisant la fonction Requires, FileActionsManager va rechercher les fichiers requis dans le même dossier que votre fichier .seinf. Par exemple, l'architecture suivante est valide :

OptimiserImages
 |- OptimiserImages.seinf
 |- FreeImage.dll
 `- Riot.exe

En ouvrant OptimiserImages.seinf, FileActionsManager va copier FreeImage.dll et Riot.exe dans votre dossier utilisateur sous %appdata%\ShellExtensions. De plus, le champ Command de l'action sera adapté pour utiliser le chemin complet vers Riot.exe avant d'être écrit dans le registre. Il est possible de partager un même exécutable entre deux actions, par exemple il est possible de fournir ffmpeg.exe à la fois avec ConvertirMP3.seinf et ConvertirAAC.seinf. ffmpeg.exe sera placé dans %appdata%\ShellExtensions, en tenant compte des actions dépendant de ffmpeg.exe. L'exécutable ne sera supprimé que lorsque la dernière action qui en dépend est supprimée.

Utilisation en ligne de commande

Si vous préférez la ligne de commande à la place des fichiers de configuration, l'outil FileActionsConsole fourni avec FileActionsManager peut être utilisé. Celui-ci permet soit d'ajouter une action avec add, soit de la supprimer avec del :

FileActionsConsole.exe add <extension(s)> <nom interne> <texte à afficher> <commande> [defaut=false]
FileActionsConsole.exe del <extension(s)> <nom interne>

Par exemple, l'action "Optimiser la taille" s'installe et se désinstalle comme suit :

FileActionsConsole.exe add bmp,png,gif,jpg optimizeimagesize "Optimiser la taille" "Riot.exe "%1""
FileActionsConsole.exe del bmp,png,gif,jpg optimizeimagesize

Cet outil s'adresse plutôt aux utilisateurs avancés qui souhaiteraient automatiser la création d'un grand nombre d'actions, au moyen d'un script batch par exemple. Cet outil ne gère pas les fichiers complémentaires, il faudra donc les installer autrement. Si vous n'en avez pas besoin, vous pouvez supprimer FileActionsConsole.exe sans problème, celui-ci est totalement indépendant de FileActionsManager.exe.

Téléchargement

Télécharger File Actions Manager v1.0

FileActionsManager nécessite le .NET Framework en version 4.0 ou ultérieure, si vous ne l’avez pas déjà.
Le code source est disponible et ouvert à toute contribution sur le dépôt GitHub FileActionsManager 😎