Renommer fichier dans des sous-dossiers
Résolu
Yvance77
Messages postés
335
Statut
Membre
-
Yvance77 Messages postés 335 Statut Membre -
Yvance77 Messages postés 335 Statut Membre -
Bonjour,
J'ai dans un dossier MUSIQUE plusieurs sous-dossiers qui sont des albums. Avec des titres comme : ACDC (1978) - HIGHWAY TO HELL puis ACDC (1981) - BACK IN BLACK etc...
Dans chacun des sous-dossiers j'ai un fichier z-jpeg ou z.jpg qui correspond à la couverture du de l'album.
Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.
Je ne sais pas comment procéder.
Je suis sous une distribution de tye ARCH et j'ai installer "rename" (perl) mais toutes mes tentatives sont vaines.
Merci de vos lumières
J'ai dans un dossier MUSIQUE plusieurs sous-dossiers qui sont des albums. Avec des titres comme : ACDC (1978) - HIGHWAY TO HELL puis ACDC (1981) - BACK IN BLACK etc...
Dans chacun des sous-dossiers j'ai un fichier z-jpeg ou z.jpg qui correspond à la couverture du de l'album.
Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.
Je ne sais pas comment procéder.
Je suis sous une distribution de tye ARCH et j'ai installer "rename" (perl) mais toutes mes tentatives sont vaines.
Merci de vos lumières
A voir également:
- Renommer fichier dans des sous-dossiers
- Fichier bin - Guide
- Renommer des fichiers en masse - Guide
- Fichier epub - Guide
- Fichier rar - Guide
- Comment réduire la taille d'un fichier - Guide
4 réponses
hello
Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.
folder signifie le nom du répertoire dans lequel se trouve le fichier ?
Il me faut renommer tous les fichiers z.jpeg ou z.jpg par folder.jpeg ou folder.jpg.
folder signifie le nom du répertoire dans lequel se trouve le fichier ?
Bonjour
J'ai bien ce script bash
#!/bin/bash
for file in *z.**; do
mv $file ${file/z/folder}
done
Il me change bien le nom, mais il ne va que dans le dossier principal, et je souhaite qu'il aille chercher tous les fichiers "z.jpg" ou "z.jpeg" dans les sous-dossiers.
Une idée svp ?
J'ai bien ce script bash
#!/bin/bash
for file in *z.**; do
mv $file ${file/z/folder}
done
Il me change bien le nom, mais il ne va que dans le dossier principal, et je souhaite qu'il aille chercher tous les fichiers "z.jpg" ou "z.jpeg" dans les sous-dossiers.
Une idée svp ?
Essayez :
Note 1 la 6ième ligne est pour rappeler le script, dont j'ai supposé qu'il s'appelle script.
Note 2 je n'ai pas essayé.
#!/bin/bash
for file in *z.**; do
if [ -d $file ]
then
cd $file
../script
else
mv $file ${file/z/folder}
fi
done
Note 1 la 6ième ligne est pour rappeler le script, dont j'ai supposé qu'il s'appelle script.
Note 2 je n'ai pas essayé.
En revanche, il va bien dans le dossier principal faire la modification du fichier "z.jpg" (dont voici le chemin = /MULTIMEDIA/MUSIQUE/FLAC)
Je souhaite qu'il aille le faire dans tous les sous-dossiers, c'est à dire que le dossier "FLAC" comprend pas moins de 640 albums de musique écrit ainsi (c'est variable) ACDC (1978) - HIGHWAY TO HELL ; TRUST (1981) - RÉPRESSION ; etc...
Je souhaite qu'il aille le faire dans tous les sous-dossiers, c'est à dire que le dossier "FLAC" comprend pas moins de 640 albums de musique écrit ainsi (c'est variable) ACDC (1978) - HIGHWAY TO HELL ; TRUST (1981) - RÉPRESSION ; etc...
Solution trouvée ici: https://forum.ubuntu-fr.org/viewtopic.php?id=76875
Il suffit de créer un script sous ce nom : renom.sh
On y colle cela :
On se place dans le dossier principal (change directory) et l'on exécute cette commande :
Il suffit de créer un script sous ce nom : renom.sh
On y colle cela :
mv "$1" "`dirname "$1"`/folder.jpg"
On se place dans le dossier principal (change directory) et l'on exécute cette commande :
find . \( -name '*.jpg' -o -name '*.JPG' \) -exec ./renom.sh {} \;
Non, "folder.jpeg" ou "folder.jpg" sera le nom de la jacquette dans chacun des sous-dossiers (que sont les albums) eux insérés dans un dossier 'MUSIQUE FLAC"