Comment décomposer un chemin de fichier contenu dans une variable ?

Exemple avec la variable %1
%1 = Chemin complet du fichier
%~n1 = nom du fichier sans l'extension
%~x1 = extension du fichier
%~nx1 = nom plus extension du fichier