Ecriture d’un script de nommage de fichier

Ecrire un script pour organiser et nommer vos fichiers n’est en fait pas si difficile - ne vous laissez pas intimider par tous les “$”, “%” et les parenthèses. Si vous pouvez écrire un modèle comme « ARTISTE - (ANNÉE) NOM/PISTE DE L’ALBUM - TITRE DE LA CHANSON » de la façon dont vous voulez que les fichiers et dossiers soient nommés, vous pouvez facilement traduire cela dans le script approprié.

Pour commencer, ouvrez d’abord le Nom de fichier Editeur de script, soit en sélectionnant « Options ‣ Ouvrir l’éditeur de script de nommage de fichier… » dans la barre de menu principale de Picard ou en cliquant sur le :guilabel: bouton Modifier le script… sur la page de configuration Options de nom de fichier. À partir de cet écran, vous pouvez démarrer un nouveau script pour votre travail.

Notez que l’utilisation d’un “/” dans la chaîne de formatage sépare le répertoire de sortie du nom de fichier. La chaîne de mise en forme peut contenir n’importe quel nombre de caractères “/”. Tout ce qui précède le dernier “/” est l’emplacement du répertoire, et tout ce qui se trouve après le dernier “/” devient le nom du fichier. Dans notre exemple, nous n’avons qu’un seul caractère “/”, ce qui signifie que nous aurons un niveau de répertoire pour l’album qui contiendra les chansons de cet album.

Voyons d’abord ce dont nous avons besoin. Vous voyez une liste des balises disponibles dans la section Balises de base. Nous voulons le nom ARTISTE, donc les balises disponibles pour cela pourraient être albumartist ou artist. Cela devrait être le nom d’un dossier d’album, donc albumartist ressemble à ce dont nous avons besoin. Pour obtenir la valeur réelle d’une balise, vous devez mettre son nom entre des signes de pourcentage. Alors commençons:

%albumartist%

Maintenant, nous voulons le ANNÉE. Il n’y a pas de balise année, mais il y a date. Utilisons ceci pour le moment. Si nous voulons ajouter du texte supplémentaire comme le « -« , écrivez-le simplement. Nous devons faire attention aux parenthèses, car ce sont des variables spéciales dans les scripts. Nous devons les préfixer avec une barre oblique inverse. Ajoutons tout cela:

%albumartist% - \(%date%\)

Nous voulons maintenant le NOM DE L’ALBUM. C’est simple, utilisez simplement album:

%albumartist% - \(%date%\) %album%

Cela prend en charge la partie répertoire du changement de nom. La partie suivante est le numéro PISTE DE L’ALBUM et TITRE DE LA CHANSON. Le numéro de piste est disponible sous forme de tracknumber et le titre de la piste est simplement title. En les ajoutant à notre script, nous obtenons:

%albumartist% - \(%date%\) %album%/%tracknumber% - %title%

Vous pouvez voir que cela ressemble presque au modèle que nous avons dit que nous voulions au début. Ce n’est pas encore parfait pour plusieurs raisons. Que faire s’il y a 10 pistes ou plus sur l’album et qu’elles ne sont pas triées correctement dans la liste du répertoire? De plus, nous obtenons une date complète au lieu de seulement l’année. Enfin, parfois, si vous marquez des fichiers existants, ils peuvent ne pas avoir le jeu albumartist, juste artiste.

Fixons d’abord le numéro de la piste. Nous pouvons nous en occuper en utilisant la fonction $num pour ajouter un zéro non significatif au numéro affiché pour les pistes 1 à 9:

%albumartist% - \(%date%\) %album%/$num(%tracknumber%,2) - %title%

Maintenant, corrigeons le ARTISTE. Nous pouvons revenir à l’utilisation de artist si albumartist n’est pas disponible en utilisant:

$if2(%albumartist%,%artist%) - \(%date%\) %album%/$num(%tracknumber%,2) - %title%

La fonction $if2 utilise la première valeur qui n’est pas vide, donc si albumartist est vide, il utilise artist à la place.

Pour la balise date, les dates de MusicBrainz sont toujours au format AAAA-MM-JJ. Nous n’avons besoin que de l’année, donc n’obtenons que les 4 premiers caractères avec la fonction $left:

$if2(%albumartist%,%artist%) - \($left(%date%,4)\) %album%/$num(%tracknumber%,2) - %title%

Que se passe-t-il s’il n’y a pas d’informations d’étiquette date? Parfois, MusicBrainz n’a pas la date de sortie d’un album, car elle n’est pas encore connue ou n’a pas été entrée dans la base de données. Ce serait bien d’omettre la date entière avec les parenthèses dans ce cas. Utilisons la fonction $if pour vérifier si la date est définie:

$if2(%albumartist%,%artist%) - $if(%date%,\($left(%date%,4)\) )%album%/$num(%tracknumber%,2) - %title%

Alternativement, nous pouvons entrer un espace réservé tel que « 0000 » si la date est manquante:

$if2(%albumartist%,%artist%) - \($if(%date%,$left(%date%,4),0000)\) %album%/$num(%tracknumber%,2) - %title%

Et là vous l’avez - le script final pour nommer vos fichiers développé à partir du modèle que nous avons utilisé comme point de départ.

Voir aussi

Pour plus d’informations sur les balises et variables disponibles, veuillez consulter la section Balises & Variables. Pour plus d’informations sur les fonctions de script disponibles, veuillez consulter la section Fonctions de script.