Génération de fichiers par date de création

Une difficulté, une précision posez vos questions

Modérateur : WIN32-[GG]

Répondre
Scandale
Batcheur occasionnel
Messages : 1
Enregistré le : 13 juin 2014 21:46

Génération de fichiers par date de création

Message par Scandale »

Bonjour à tous,

J'ai passé une bonne partie de ma journée à tourner en rond en pensant pouvoir me débrouiller mais comme je commence à baisser les bras, je me suis dit que j'allais passer sur votre forum pour chercher quelques conseils.
Voilà, j'aimerais avoir un script qui me permette de découper à la chaine des vidéos (dérusher comme on dit...).
Ainsi, j'aurais plusieurs fichiers avec des noms arbitraires (aqsda.mp4, 156sq.mp4, etc.).
Et j'aimerais entrer moi même ces noms dans le script ainsi que les différents endroits où la vidéo doit être coupée.
aqsda.mp4 00:01:28 00:05:54
156sq.mp4 00:02:23 00:52:55
156sq.mp4 00:53:01 00:55:23
etc.
Pour la découpe j'ai déjà écrit le script avec ffmpeg et ça marche. C'est pour la suite que j'ai besoin d'aide.
En sortie, j'aimerais que le nom des fichiers soient générés automatiquement en se basant sur la date de création du fichier. Le truc c'est que dans mon exemple, j'ai parfois plusieurs coupes à faire dans le fichier, du coup j'aurais plusieurs fichiers qui s’appellent pareil. Pour éviter ça je pensais ajouter un truc aléatoire ou bien un bout de l'heure actuelle, afin d'avoir des noms toujours différents même quand c'est le même fichier.

Voilà si quelqu'un peut m'aiguiller là dessus, ça m'aiderait bien, j'ai testé plein d'exemples de scripts toute la journée mais je ne connais pas assez ce langage pour avancer plus et je me vois pas apprendre ce langage pour un si petit script à réaliser.

Merci à ceux qui pourront m'aider.
LNOW
Batcheur débutant
Messages : 17
Enregistré le : 20 déc. 2014 12:28

Re: Génération de fichiers par date de création

Message par LNOW »

Hello,

bon, j'imagine que tu as créé un fichier TODO.TXT contenant le nom des fichiers sources + timecode début + timecode fin.
  • vaqsda.mp4 00:01:28 00:05:54
    156sq.mp4 00:02:23 00:52:55
    156sq.mp4 00:53:01 00:55:23
le script ci dessous te génère un résultat avec un nom de destination contenant le nom du fichier source - date du fichier source - date actuelle - heure actuelle .ExtensionFichierSource
Exemple:
  • aqsda.mp4 00:01:28 00:05:54 aqsda-20-12-2014-20-12-2014-21-51-09-94.mp4
    156SQ.mp4 00:02:23 00:52:55 156SQ-20-12-2014-20-12-2014-21-51-09-95.mp4
    156SQ.mp4 00:53:01 00:55:23 156SQ-20-12-2014-20-12-2014-21-51-09-98.mp4

Code : Tout sélectionner

@echo off

SETLOCAL

SET Fic=TODO.TXT

FOR /F "tokens=1,2,3" %%a in (%Fic%) do call :Ligne "%%a" %%b %%c %%~ta

GOTO :EOF

:LIGNE
Set SOURCE=%~nx1
Set Debut=%2
Set Fin=%3

SET DEST=%~n1-%4-%DATE%-%TIME%%~x1

REM la variable DEST contient des caracteres interdits en noms de fichier
REM exemple: 156SQ-20/12/2014-20/12/2014-21:47:59,60.mp4
REM il faut retirer les / : ,  et on les remplace par des -
SET DEST=%DEST:/=-%
SET DEST=%DEST:,=-%
SET DEST=%DEST::=-%

REM on fait une légère pause pour que l'on ait qq ms de delta
PING -n 1 127.0.0.1 >NUL


ECHO %SOURCE% %Debut% %Fin% %DEST%
Répondre