Script bash depuis nautilus
Bonjour,
j'aimerais convertir des fichiers multimédias en mp3 depuis nautilus en executant un script externe. J'y arrive de cette façon, en plaçant le script suivant dans ~/.gnome2/nautilus-script
Et ça marche bien avec un fichier à la fois.
Maintenant ce que j'aimerai c'est sélectionner plusieurs fichiers et appliquer le script en une seule fois depuis nautilus...
Est-ce possible? La fonction de nautilus est-elle capable de lire plusieurs arguments? Et comment modifier le script? J'imagine qu'il faudra utilier une boucle for... Mais je ne maîtrise pas du tout...
Merci de votre aide!
j'aimerais convertir des fichiers multimédias en mp3 depuis nautilus en executant un script externe. J'y arrive de cette façon, en plaçant le script suivant dans ~/.gnome2/nautilus-script
ffmpeg -i "$1" -ac 2 -ab 192k -ar 44100 "$1".mp3
Et ça marche bien avec un fichier à la fois.
Maintenant ce que j'aimerai c'est sélectionner plusieurs fichiers et appliquer le script en une seule fois depuis nautilus...
Est-ce possible? La fonction de nautilus est-elle capable de lire plusieurs arguments? Et comment modifier le script? J'imagine qu'il faudra utilier une boucle for... Mais je ne maîtrise pas du tout...
Merci de votre aide!
2 réponses
-
ModérateurSalut,
Et simplement comme ça :
for fich in *; do ffmpeg -i "${fich}" -ac 2 -ab 192k -ar 44100 "${fich}.mp3"; done
Ça ne le ferait pas ?
-
-
ModérateurBen oui, mais comme j'ai jamais fait ça depuis Nautilus (ou autres) ;-\
Le tout serait de savoir comment Nautilus gère les fichiers (sélectionnés à la souris si j'ai bien compris ??!!), comme des paramètres ($1, $2, $3, etc. ) ou s'il peut/sait développer l'astérisque (*) et gérer les variables ??? -
Modérateur
-
-
-
ContributeurIl faut en effet modifier le script. Une boucle for par exemple :
for (( b=1;b<$#;b++)) do : a='eval "\$"$b' ffmpeg -i $a -ac 2 -ab 192k -ar 44100 $a.mp3 done
peut être revoir la définition de la variable 'a', mais ça devrais fonctionner