カレントフォルダ内には、ファイル名にyyyymmdd_[ポッドキャストタイトル].txtというファイル名のテキストファイルがあります。

全てのテキストファイルを開き、次のようなMarkdownファイルにまとめるPowerShellスクリプトを作成してください —— 配信日時 ポッドキャストタイトル テキスト内容

以下のPowerShellスクリプトは、カレントフォルダ内の yyyymmdd_[ポッドキャストタイトル].txt 形式のファイルをすべて読み取り、指定のMarkdownフォーマットで podcast_summary.md にまとめます。

スクリプト

# カレントフォルダ内の対象ファイルを取得
$files = Get-ChildItem -Path . -Filter "*.txt" | Where-Object { $_.Name -match "^(\\\\d{8})_(.+)\\\\.txt$" }

# 出力ファイルのパス
$outputFile = "podcast_summary.md"

# 出力ファイルを初期化
"" | Set-Content $outputFile

# 各ファイルを処理
foreach ($file in $files) {
  # ファイル名から日付とタイトルを抽出
  if ($file.Name -match "^(\\\\d{8})_(.+)\\\\.txt$") {
    $date = $matches[1]   # yyyymmdd
    $title = $matches[2]  # ポッドキャストタイトル

    # 日付をyyyy-mm-dd形式に変換
    $formattedDate = "{0}-{1}-{2}" -f $date.Substring(0,4), $date.Substring(4,2), $date.Substring(6,2)

    # ファイル内容を読み込む
    $content = Get-Content $file.FullName -Raw

    # Markdown形式で書き込む
    "# $formattedDate $title`r`n$content`r`n" | Add-Content $outputFile
  }
}

Write-Host "Markdownファイルが作成されました: $outputFile"

スクリプトの説明

  1. Get-ChildItem を使ってカレントフォルダ内の .txt ファイルを取得。
  2. 正規表現 (^(\\\\d{8})_(.+)\\\\.txt$) でファイル名から yyyymmdd とタイトルを抽出。
  3. yyyymmddyyyy-mm-dd に変換。
  4. ファイルの内容を読み込んで、指定のMarkdownフォーマットで podcast_summary.md に書き込む。
  5. すべてのファイルを処理し終えたら、完了メッセージを表示。

実行方法

  1. .ps1 ファイルとして保存(例: generate_podcast_md.ps1)。

  2. PowerShellを開き、スクリプトのあるフォルダへ移動。

  3. 以下のコマンドを実行:

    .\\\\generate_podcast_md.ps1
    
    
  4. podcast_summary.md が作成される。

このスクリプトを使えば、簡単にポッドキャストのMarkdownまとめを作成できます! 🚀

以下の機能追加を行ってください