Avec ffmpeg je peux copier un fichier.avi et changer son tag de titre sans réencoder le son et la vidéo, mais faut quand même copier le fichier et donc supprimer l'ancien aussi, c'est lourd et à risque (enfin je déplace l'ancien fichier dans la corbeille quand même plutôt que de le supprimer directement) donc j'aimerai faire autrement :
Code :
- $path = "G:\Films"
- Get-ChildItem $path -Filter *.avi |
- Foreach-Object {
- write-host $_.Name
- $arg0 = $_.FullName
- $arg1 = $_.BaseName
- $arg2 = $path + "\" + $_.BaseName + "_bis.avi"
- &"C:\Program Files\ffmpeg\bin\ffmpeg.exe" -i $arg0 -metadata title="$arg1" -acodec copy -vcodec copy $arg2
- If ((Test-Path $arg2) -eq $True) {
- $shell = New-Object -ComObject 'Shell.Application'
- $shell.NameSpace(0).ParseName($arg0).InvokeVerb('delete')
- Rename-Item $arg2 $arg0
- }
- }
- Read-Host -Prompt "Press Enter to exit"
|
Pour ceux que ça intéresse, version pour mkv :
Code :
- $path = "G:\Films"
- Get-ChildItem $path -Filter *.mkv |
- Foreach-Object {
- Write-Host $_.Name
- $arg = $_.BaseName
- &"C:\Program Files\MKVToolNix\mkvpropedit.exe" $_.FullName --edit "info" --set "title=$arg"
- }
- Read-Host -Prompt "Press Enter to exit"
|
Message édité par MaybeEijOrNot le 09-05-2020 à 19:06:37
---------------
C'est en écrivant n'importe quoi qu'on devient n'importe qui.