Formatage de chaînes
Pour certaines opérations, vous pouvez utiliser des tags spéciaux qui sont délimités par des caractères "%".
Étant donné que le "%" est utilisé comme caractère spécial, pour obtenir un simple "%" dans le nom de fichier vous devez entrer alors "%%".
Dans chaque opération qui supporte des tags spéciaux, les tags disponibles sont listés dans la zone "Notes" en dessous des paramètres de cette opération.
Par exemple, l'opération d'Infos des tags mp3 supporte des tags relatifs à l'ID3, comme %author% et %title% en plus de %name% et
%ext%. Donc un masque typique pour les fichiers mp3 serait quelque chose comme %author% - %title%%ext%
(%ext% inclut le point, donc nous ne
devons pas en mettre un dans le masque utilisé ici).
Un tag %folderN% est souvent disponible. Ce tag vous permet d'utiliser le nom des dossiers parents dans le nom de fichier lui-même. C'est un peu compliqué à expliquer, je vais donc vous donner quelques exemples.
Si vous avez un fichier dans "c:\data\images\movies\poster.jpg" et que vous utilisez l'opération Insertion de chaîne :
- Si masque =
%folder1% -
, le fichier sera renommé en "movies - poster.jpg" - Si masque =
%folder2% -
, le fichier sera renommé en "images - poster.jpg" - etc.
Vous pouvez aussi utiliser un chemin relatif, par exemple si vous avez plusieurs dossiers, contenant chacun beaucoup de fichiers, et que tous ces fichiers ne sont pas spécialement uniques entre deux dossiers différents. Vous pouvez vouloir insérer le nom de dossier et ensuite déplacer tous les fichiers vers le dossier parent commun. Voici un exemple ; vous avez les fichiers suivants :
- c:\data\images\movies\poster1.jpg
- c:\data\images\games\poster1.jpg
- c:\data\images\games\poster2.jpg
Si vous les renommez avec l'Insertion de chaîne et que vous insérez une chaîne comme ../%folder1%
en position 0 à partir du début, vous obtiendrez
ceci dans le dossier "images" :
- movies poster1.jpg
- games poster1.jpg
- games poster2.jpg
Maintenant vous pouvez supprimer les dossiers vides "movies" & "games".
Si vous entrez un nombre négatif à la place, le compte sera fait à partir de la racine plutôt qu'à partir du dossier courant. Donc en utilisant toujours "c:\data\images\movies\" comme dossier :
%folder-1%
= "c"%folder-2%
= "data"%folder-3%
= "images"- etc.
En utilisant le tag %name%, vous pouvez aussi vouloir placer les fichiers dans un dossier qui pend le nom du fichier. Pour cela, l'option "Forcer les dossiers" doit être activée. Si vous avez les fichiers suivants :
- cars.doc
- cars.xls
- cars.jpg
- houses.doc
- houses.xls
- houses.jpg
Toujours en utilisant l'opération d'Insertion de chaîne, en insérant une chaîne comme %name%\
en position 0 à partir du début, vous aurez les trois
fichiers "cars" dans un dossier "cars", et les trois fichiers "houses" dans un dossier "houses".
Lorsque l'on traite des dossiers, %count%
et quelques dérivés sont disponibles :
%count%
= nombre de fichiers et sous-dossiers contenus dans le dossier traité%countr%
= idem, mais prend aussi en compte ce qui est dans les sous-dossiers (récursif)%countfiles%
= ne prend en compte que les fichiers%countfilesr%
= idem, mais recherche aussi les fichiers dans les sous-dossiers (récursif)%countfolders%
= ne prend en compte que les sous-dossiers%countfoldersr%
= idem, mais recherche aussi les sous-dossiers dans les sous-dossiers (récursif)
Pour les actions Infos des tags mp3 et Infos EXIF, il y a aussi un tag spécial : $if. Il permet de faire un formatage conditionel. Par exemple, quand un champ est vide il se peut que vous ne vouliez pas afficher le " - " qui le suit. Ou mettre une valeur spéciale.
La syntaxe est la suivante : $if(condition,valeur-si-vrai,valeur-si-faux). Si "condition" n'est pas une chaîne vide, valeur-si-vrai sera utilisé. Dans le cas constraire, valeur-si-faux sera utilisé. Comme vous pouvez avoir besoin des virgules et parenthèses dans la fonction $if, vous pouvez placer les valeurs entre guillemets ("...") pour éviter qu'elles ne soient analysées. Soyez prudent avec cela : ils empêchent aussi les %tag% d'être analysés.
Voici quelques exemples qui vous expliqueront ça mieux. Dans la liste de fichierd il y a deux fichiers mp3 qui ont un mauvais nom (1.mp3 et 2.mp3) mais qui ont les tags ID3 valides suivants :
- 1.mp3: Auteur = Blur, Titre = Song 2, Album est vide, Piste est vide
- 2.mp3: Auteur = Vivaldi, Titre est vide, Album = Le Quattro Stagioni, Piste = 1
Voici le résultat avec divers masques :
%author% - %title%%ext%
Prend simplement l'auteur et le titre, séparés par un tiret. Ici nous n'utilisons pas la fonction if, et le résultat n'est pas terrible lorsque des chams sont vides.
- Blur - Song 2.mp3
- Vivaldi - .mp3
%author%$if(%title%, - %title%,)%ext%
Prend l'auteur et, si le titre n'est pas vide, ajoute un tiret et le titre.
- Blur - Song 2.mp3
- Vivaldi.mp3
%author%$if(%album%," ("%album%")",)$if(%title%,", "%title%,)%ext%
Prend l'auteur, si il existe et ajoute le nom de l'album entre parenthèses, ensuite s'il existe ajoute le titre séparé par une virgule.
Ici vous pouvez voir que les parenthèses et la virgule doivent être placées entre guillemets pour ne pas être prises comme une marque de fin de fonction ou un
séparateur de valeurs.
- Blur, Song2.mp3
- Vivaldi (Le Quattro Stagioni)
%author%$if(%album%," ("%album%")",)$if(%title%,", "%title%,$if(%track%, - %track%,))%ext%
Comme le précédent, mais dans le if du titre nous ajoutons un autre if pour ajouter le numéro de piste seulement dans le cas où le titre est vide.
- Blur, Song2.mp3
- Vivaldi (Le Quattro Stagioni) - 1