Как добавить дату выпуска подкаста к имени файла или метаданным файла?

Как добавить дату выпуска подкаста к имени файла или метаданным файла?

я используюgPodderдля загрузки подкастов.

Например, я скачал подкасты дляЭконТалки это первый подкаст:

введите описание изображения здесь

gPodder сообщает мне, что этот подкаст был «выпущен» «16 марта 2006 г.».

Как добавить эту информацию ( yyyy-mm-dd, «2006-03-16») в начало имени файла или куда-нибудь в метаданные файла?

Моя цель — сделать то же самое для всех загруженных мной подкастов, а не только для этого конкретного.


В настоящее время эта yyyy-mm-ddинформация, похоже, не отображается нигде в метаданных файла:

введите описание изображения здесь

решение1

Похоже, у gPodder уже естьвстроенное расширениекоторый делает это. Не нужно его скачивать, так как он включен.

  1. НажмитеgPodder>Предпочтения.
  2. Нажмите наРасширениявкладка.
  3. Установите флажок рядом сПереименовывать эпизоды после загрузки.
  4. Нажмите наИзменить конфигурациюкнопку в правом нижнем углу окна настроек.
  5. Установите флажок рядом срасширения.переименовать_загрузку.добавить_сортировкудата.
  6. Закройте оставшиеся окна.

Все имена файлов подкастов, загружаемых в будущем, должны иметь префикс "ГГГГ-ММ-ДД-".

При желании вы также можете включитьрасширения.переименовать_загрузку.добавить_название_подкастачтобы также добавить заголовок к имени файла.


Для переименования существующих файлов можно также использовать следующий PowerShell:

#
# 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"

Связанный контент