¿Cómo puedo agregar una fecha de lanzamiento de un podcast al nombre del archivo o a los metadatos del archivo?

¿Cómo puedo agregar una fecha de lanzamiento de un podcast al nombre del archivo o a los metadatos del archivo?

yo suelogPodderpara descargar podcasts.

Por ejemplo, he descargado los podcasts deCharla Económicay este es el primer podcast:

ingrese la descripción de la imagen aquí

gPodder me dice que este podcast fue "publicado" el "16 de marzo de 2006".

¿Cómo agrego esta información ( yyyy-mm-dd, "2006-03-16") al frente del nombre del archivo o en algún lugar de los metadatos del archivo?

Mi objetivo es hacer lo mismo con todos los podcasts que he descargado y no sólo con este en particular.


Actualmente, esta yyyy-mm-ddinformación no parece aparecer en ninguna parte de los metadatos del archivo:

ingrese la descripción de la imagen aquí

Respuesta1

Parece que gPodder ya tiene unextensión incorporadaque hace esto. No es necesario descargarlo ya que está incluido.

  1. Hacer clicgPodder>Preferencias.
  2. Haga clic en elExtensionespestaña.
  3. Marque la casilla junto aCambiar el nombre de los episodios después de la descarga.
  4. Haga clic en elEditar configuraciónen la parte inferior derecha de la ventana de preferencias.
  5. Marque la casilla junto aextensiones.rename_download.add_sortdate.
  6. Cierre las ventanas restantes.

Todos los nombres de archivos de podcasts descargados en el futuro deben tener el prefijo "AAAA-MM-DD-".

Opcionalmente, también puede habilitarextensiones.rename_download.add_podcast_titlepara anteponer el título al nombre del archivo también.


También puedes usar el siguiente PowerShell para cambiar el nombre de los archivos existentes:

#
# PrependDateToPodcasts.ps1
#
Param (
  [Parameter(Mandatory=$true, Position=0)][string]$FeedURL,
  [Parameter(Mandatory=$true, Position=1)][string]$Directory,
  [Parameter()][switch]$DryRun = $false
)

$XML = Invoke-WebRequest $FeedURL
$Podcasts = ($XML | Select-Xml "rss/channel/item").Node

$Podcasts | ForEach-Object {
  $Filename = Split-Path $_.enclosure.url -Leaf
  $Date = [datetime](($_.pubDate -replace " [A-Z]{3}$", "") -replace "^\w{3}", "") | Get-Date -Format "yyyy-MM-dd"

  $FilePath = Join-Path $Directory $Filename
  $FilenameNew = "${Date} - ${Filename}"

  if (Test-Path $FilePath) {
    Write-Host "Renaming `"${Filename}`" to `"${FilenameNew}`"."
    if (!$DryRun) {
      Rename-Item $FilePath $FilenameNew
    }
  }
}
# Preview changes before actually running.
.\PrependDateToPodcasts.ps1 "http://files.libertyfund.org/econtalk/EconTalk.xml" "C:\path\to\gPodder\Downloads\EconTalk" -DryRun

# Rename for real.
.\PrependDateToPodcasts.ps1 "http://files.libertyfund.org/econtalk/EconTalk.xml" "C:\path\to\gPodder\Downloads\EconTalk"

información relacionada