Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 02/12/2009, à 19:03

Tsukaniki

Problème avec enchainement de commandes

Bon... après moult tentatives, je fais appel a vous pour m'aider ^^'

J'avais rajouté il y a un petit moment un "Service Menu" pour Dolfin exécutant un petit mkvmerge sur une vidéo de mon choix.
J'ai décidé aujourd'hui d'améloirer ma commande pour que le résultat (la vidéo en mkv donc) soit directement envoyé sur le disque dur de ma freebox.
Le problème c'est que bien que tout est sensé bien se passer, le transfert ne fonctionne pas pour cause de fichier non existant alors que le test d'existence de fichier me prouve le contraire ! Bref, je capte plus grand chose... Voici donc la ligne de commande :

Exec=xterm -hold -e "MKVTMP=$(echo %u | sed -r 's/\\.[^\.]+$//') && mkvmerge -o \"$MKVTMP\".mkv %u && echo Conversion terminée avec succès ! && test -f \"$MKVTMP\".mkv && echo Le fichier existe ! && echo Début du transfert de \"$MKVTMP\".mkv && lftp ftp://freebox:*********@hd1.freebox.fr -e \\"put -O /Disque\\ dur/Video \"$MKVTMP.mkv\" ;quit\\" && echo Transfert terminé avec succès !"

À noter que le transfert "tout seul" fonctionne à merveille et que c'est juste dans cet enchainement de commande que ça ne fonctionne pas... Il faut aussi noter que j'ai déjà essayer de faire en sorte que l'exécution s'arrête pendant 2 secondes avant de tenter l'envoi et que j'ai aussi tenter de mettre la commande put en queue ; tout ça sans succès évidemment...

Quelqu'un a une idée ?

Hors ligne

#2 Le 04/12/2009, à 04:55

sputnick

Re : Problème avec enchainement de commandes

Cree un script du genre :

#!/bin/bash

if MKVTMP=$(echo $1 | sed -r 's/\\.[^\.]+$//'); then
    mkvmerge -o "${MKVTMP}.mkv" $1 && echo "Conversion terminée avec succès !"
    test -f "$MKVTMP.mkv" && echo "Le fichier existe !"
    echo "Début du transfert de $MKVTMP.mkv"
    lftp ftp://freebox:*********@hd1.freebox.fr -e "put -O '/Disque dur/Video' \"$MKVTMP.mkv\"; quit" && echo "Transfert terminé avec succès !"
fi

Puis tu lance

xterm -hold -e /path/to/script.sh %u

dans tes services menus

Non testé. Il y avait pas mal de soucis notamment avec des oublis de quotes


On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#3 Le 04/12/2009, à 17:01

Tsukaniki

Re : Problème avec enchainement de commandes

C'est la solution vers laquelle j'étais en train de me pencher.
Sinon il faut savoir que ma commande fonctionne si je remplace \"$MKVTMP.mkv\" par $(echo %u | sed -r 's/\\.[^\.]+$//')
Par contre j'avais un autre soucis en cas de chemin vers le fichier contenant des espaces mais ça se corrige...

Merci de ta réponse en tout cas smile

Hors ligne