Transformer script Powershell en batch - Shell/Batch - Programmation
Marsh Posté le 17-05-2022 à 10:04:55
J'avance un peu, j'ai modifié le début et la fenêtre de Powershell affiche bien le contenu du 1er fichier txt du dossier mais il ne termine pas l'opération et j'obtiens toujours un message d'erreur, apparemment c'est juste une histoire de parenthèses ou d'accolades mal placées ;
Code :
|
Je ne suis pas très sûr non plus de la manière de spécifier le nom et le dossier des fichiers à créer pour garder le nom d'origine et rajouter " change" (K:\test\%~na change).
Marsh Posté le 21-05-2022 à 11:17:51
Je peux te faire ça en java si tu veux. Tu mets le jar que j'aurai fait dans le dossier que tu veux faire et tu le lances
Marsh Posté le 21-05-2022 à 11:29:30
Merci, pourquoi pas mais j'aimerais déjà parvenir à le faire de manière plus basique, je suppose qu'il doit y avoir moyen sans Java.
Je suis habitué aux batchs pour la console basique de Windows, ça commence toujours par for %a in ("..., mais ici ça a l'air différent.
Marsh Posté le 21-05-2022 à 20:41:25
Il y a un peu de logique / traitement de texte dans ce script, donc en batch soit c'est impossible soit tu vas en chier. Tourne toi vers Python (ou Perl si tu préfères), mais sous Windows faudra l'installer. Sinon on peut faire ça en C aussi, c'est un poil maso mais ça donnera un seul petit exécutable plutôt que de devoir installer tout un bazar.
Marsh Posté le 21-05-2022 à 21:09:43
Ah d'accord, je ne pensais pas que ce serait si compliqué et je n'y connais rien en programmation.
Marsh Posté le 21-05-2022 à 21:59:22
Ah ok, tu veux juste modifier un truc existant pour l'appliquer à tout les fichiers, mais tu peux faire ça en Powershell? Car la-dedans c'est visiblement possible. Je n'y connais rien par contre, mais il doit bien y avoir quelqu'un sur le forum pour t'aider. A ta place je modifierais le titre du sujet, genre "appliquer script Powershell à plusieurs fichiers", peut-être tu auras plus de chance...
Marsh Posté le 21-05-2022 à 22:13:25
rat de combat a écrit : Ah ok, tu veux juste modifier un truc existant pour l'appliquer à tout les fichiers, mais tu peux faire ça en Powershell? |
Oui, c'est ce que j'expliquais dans le 1er post.
Marsh Posté le 22-05-2022 à 13:13:09
C'est pas compliqué, tu récupères la liste des fichiers txt dans ton dossier, et dans ton code actuel tu variabilises les endroits où il y a ton nom de fichier en dur pour l'utiliser dans une boucle.
Code :
|
Et tu récupère le nom du fichier avec $fichier.Name ou son full path avec $fichier.FullName ou son nom sans extension avec BaseName (si tu veux rajouter ton _changed c'est pratique)
Marsh Posté le 22-05-2022 à 17:18:42
Houlà, je ne comprends vraiment pas tout à ton explication
Pour la 2ème ligne, on tape ça tel quel ou il faut remplacer le mot fichier par autre chose ?
Concernant le nom d'export (ligne 15 dans mon 1er post), on met quoi à la place de "K:\test\%~na change.txt" ?
Et y a-t-il moyen de ne sélectionner que les fichiers dont le nom se termine par " reso" dans le dossier spécifié (et d'y rajouter " change", puisque c'est le but) ?
Merci
Marsh Posté le 15-05-2022 à 20:34:37
Bonjour,
j'utilise ce script qui fonctionne bien mais j'aimerais le transformer en batch, pas spécialement un fichier bat mais une commande qui permettrait de l'appliquer à tous les fichiers txt d'un dossier ;
Je voudrais donc qu'il rajoute " change" derrière le nom de la vidéo.
Pour info ça sert à analyser un fichier généré par ffprobe qui contient la résolution d'une vidéo, il permet d'indiquer les n° de frames où il y a un éventuel changement de résolution (ce qui peut arriver dans le cas d'un streaming).