¿Cambiar programáticamente el "Valor" de una "Propiedad" en la sección "Detalles" de un archivo multimedia en Windows?

¿Cambiar programáticamente el "Valor" de una "Propiedad" en la sección "Detalles" de un archivo multimedia en Windows?

En el Explorador de archivos de Windows, puede editar los valores en la pestaña Detalles de las propiedades de un archivo multimedia, pero estoy buscando hacerlo con la línea de comando o Powershell u otra secuencia de comandos, o alguna otra forma de automatizarlo.

Para ser claros, me refiero a la información que se encuentra en la pestaña "Detalles" cuando ves las propiedades del archivo, NO los atributos del archivo.

Específicamente los valores de "Título" y "Comentarios".

He intentadowmicpero no ofrece esos detalles del expediente.

Intenté automatizar la GUI con AutoIt, pero encontré demasiados obstáculos y es demasiado propenso a fallar si no se atiende.

Busqué en la web y ni siquiera encontré una sola PISTA de que esto se pueda hacer, todas las publicaciones que tenían títulos que me llevaron a creer que tenían la respuesta eran engañosas o se referían a atributos de archivo.

Se puede hacer esto? ¿O simplemente estoy loco?

EDITAR: nueva información: probé ffmpeg que funciona, pero la desventaja es que tiene que volver a codificar la película completa o copiarla, lo que lleva más tiempo del aceptable para mi proyecto específico. Hasta ahora, automatizar la GUI con AutoIt es mi única opción viable.

EDITAR: Solución: gracias a @LotPings y @uSlackr por llevarme a TagLib-Sharp. Ahora tengo un método para hacer esto con Powershell.

Respuesta1

Con la ayuda de @LotPings y @uSlackr encontréEsta respuestapara descargar directamente la biblioteca TagLib-Sharp.dll y llamarla directamente con la ayuda que se encuentra enEsta preguntadando como resultado un script de Powershell muy básico que consta de...

cargando la biblioteca...

[Reflection.Assembly]::LoadFrom( (Resolve-Path ".\taglib\Libraries\taglib-sharp.dll"))

y cambiando el 'Título'

Get-ChildItem -Filter *.mp4 | ForEach-Object { [TagLib.File]::Create($_.FullName) | ForEach-Object { $_.tag.Title = 'noTitleNow' ; $_.Save() } } 

información relacionada