Je l'utilise dans le cadre d'une commande Powershell dans un fichier de commandes pour remplacer du texte dans un autre fichier :
-replace 'contrast=.*? -b:v', 'contrast=.*?,fps=%FRAMERATE% -b:v'
Le fichier modifié pourrait avoir une valeur de contraste spécifique comme ceci :
contrast=1.03
Si j'essaie d'utiliser un joker .*?
comme indiqué ci-dessus, il ne conserve pas la valeur 1.03 pour le contraste, il la remplace simplement par les caractères de joker littéraux, je me retrouve donc avec contrast=.*?
dans le fichier modifié.
La valeur du contraste pourrait changer. Y a-t-il un moyen de dire à Powershell, quelle que soit cette valeur dans la première partie de la commande de remplacement, elle doit rester la même dans la partie suivante ?
Quelqu'un a dit de le mettre entre crochets (et ceux-ci devraient être échappés puisqu'il s'agit d'un fichier de commandes) mais cela ne fonctionne pas, ceci :
-replace 'contrast=/[.*?/] -b:v', 'contrast=/[.*?/],fps=%FRAMERATE% -b:v'
Tout ce que cela fait, c'est me donne ceci dans le fichier modifié : contrast=/[.*?/]
Je suis sûr qu'il y a une combinaison étrange ou une manière de le faire, je ne sais juste pas comment le découvrir.
Merci d'avance à quiconque pourra éclairer ma lanterne.