IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Aide pour récupérer le début d'un nom de fichier et le donner à un autre


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Par défaut Aide pour récupérer le début d'un nom de fichier et le donner à un autre
    Salut à tous,

    Je débute tout juste à faire quelques lignes de commande qui me servent dans mon travail. Actuellement j'utilise aussi beaucoup FFMPEG qui est un programme qui permet de modifier,créer, etc les fichiers video.
    Bref, j'ai utilisé des lignes de commandes pour assembler 2 fichiers video et cela fonctionne. Problème ce fichier video nouvellement créer ce nomme "'output" et mon souhait serait qu'il ne nomme en fonction d'un des 2 fichiers video.

    - XXX_CDB.mov
    - XXX_PK.mov

    fichier créer après assemblage :
    - output.mov

    Je voudrais que le output.mov soit nommé XXX.mov (donc en fonction du début d'un des 2 fichiers reçus)

    Voilà mon fichier bat :

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    :: Edit the line below to match your path to the ffmpeg executable.
    set path2exe=C:\Users\Benjamin\Desktop\ffmpeg\bin\ffmpeg.exe
    cd c:\Users\Benjamin\Desktop\3\
    (for %%i in (*.mov) do @echo file '%%i') > list.txt
    %path2exe% -f concat -i list.txt -c copy output.mov


    Ce bat repère les fichiers ".mov"et les inscrit dans une liste(list.txt). Le logiciel ffmpeg assemble ensuite les fichiers mov en fonction de la liste créé.
    Comment dois-je faire à votre avis? avec une variable j'imagine?

    Merci beaucoup pour votre aide.

    A bientôt.

  2. #2
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Comme ceci par exemple

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    :: Edit the line below to match your path to the ffmpeg executable.
    set path2exe=C:\Users\Benjamin\Desktop\ffmpeg\bin\ffmpeg.exe
    cd c:\Users\Benjamin\Desktop\3\
    (for %%i in (*.mov) do @echo file '%%i'&set var=%%~i) > list.txt
    echo %path2exe% -f concat -i list.txt -c copy %var:~,3%.mov

  3. #3
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Par défaut
    Merci beaucoup c'est très sympa mais bizarrement cela ne fonctionne pas....
    En le lançant rien ne se passe(la list.txt est bien créée) mais pas de fichier de sortie.
    Sous cmd, je vois les commandes mais :
    1 pas de fichier créé par ffmpeg
    2 le nom de sortie semble être uniquement les 3 premiers caractères d'un des fichiers sources(Là je sais pourquoi car dans mon 1er message j'avais stipulé "XXX_CDB" mais en fait XXX signifie que le nom peut être un peu n'importe quoi avec différentes longueurs...

    Bon je vais m'aider de ton code pour chercher.
    Merci beaucoup.


  4. #4
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Tes fichiers se terminerons toujours par _CDB.mov et _PK.mov ?

    Met une pause à la fin de script pour voir la dernière commande, car je ne sais pas pourquoi cela ne fonctionnerai pas.

  5. #5
    Membre régulier
    Homme Profil pro
    Architecte technique
    Inscrit en
    Juin 2014
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Architecte technique
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juin 2014
    Messages : 8
    Par défaut
    Citation Envoyé par ericlm128 Voir le message
    Tes fichiers se terminerons toujours par _CDB.mov et _PK.mov ?

    Met une pause à la fin de script pour voir la dernière commande, car je ne sais pas pourquoi cela ne fonctionnerai pas.
    Salut,

    Bon j'ai trouvé. Cela fonctionne mais j'ai du enlever le "echo" au début de la ligne 5.
    Par contre vu que mes fichiers sont toujours nommés avec "_CDB" ou "_PK"à la fin, y aurait-il un moyen de couper la fin du nom (otant donc _cdb ou _pk)? Ou alors de nommer le fichier de sortie comme la source sauf _cdb ou _pk?
    Merci beauboup.


  6. #6
    Expert confirmé

    Homme Profil pro
    Responsable déploiement (SCCM, InTune, GPO)
    Inscrit en
    Juillet 2014
    Messages
    3 218
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Responsable déploiement (SCCM, InTune, GPO)
    Secteur : Transports

    Informations forums :
    Inscription : Juillet 2014
    Messages : 3 218
    Par défaut
    Ok oui il y avait le "echo"

    Voici une autre proposition

    Code batch : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    :: Edit the line below to match your path to the ffmpeg executable.
    SETLOCAL ENABLEDELAYEDEXPANSION
     
    set path2exe=C:\Users\Benjamin\Desktop\ffmpeg\bin\ffmpeg.exe
    cd c:\Users\Benjamin\Desktop\3\
     
    for %%i in (*.mov) do (
    @echo file '%%i'
    set var_tmp=%%~ni
    IF /I "!var_tmp:~-3!" == "_PK" set var=!var_tmp:~,-3!
    )> list.txt
     
    %path2exe% -f concat -i list.txt -c copy %var%.mov

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/03/2011, 17h13
  2. Aide pour récupérer code source dans une variable
    Par leumas dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 02/09/2008, 14h03
  3. Réponses: 4
    Dernier message: 31/10/2007, 15h11
  4. [MySQL] je cherche une aide pour récupérer des champs d'une base de donnée
    Par maya24 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 23/09/2007, 12h14
  5. Réponses: 7
    Dernier message: 12/06/2007, 14h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo