NW-ZX100は最近、追加した音楽ファイルは期間でなく、三世代でしか管理できない。ちょっとそれだと不便なので、以下のような最近追加した曲のプレイリストを作成するバッチを作成した。
createRecentPlaylist.bat
@powershell -NoProfile -ExecutionPolicy Unrestricted "$s=[scriptblock]::create((gc \"%~f0\"|?{$_.readcount -gt 1})-join\"`n\");&$s" %*&goto:eof
$playlist = "J:\MUSIC\recent_playlist.m3u8"
if (Test-Path $playlist) {
Remove-Item $playlist
}
$directories = Get-ChildItem -Directory -Recurse J:\MUSIC | Where-Object {$_.LastWriteTime -ge (Get-Date).AddDays(-30)} | Sort-Object LastWriteTime -Descending
foreach($dir in $directories) {
$files = Get-ChildItem -File $dir.FullName | Where-Object {($_.Extension -ne "m3u8") -and ($_.Extension -ne "jpg")} | Sort-Object Name
foreach($file in $files) {
Write-Output $file.FullName.Replace("J:\MUSIC\", "") >> $playlist
}
}
$playlist16 = Get-Content $playlist
Write-Output $playlist16 | Out-File -Encoding UTF8 $playlist
一行目のおまじないで、二行目以降の処理は、powershellで実行される。powershellの実行確認が要らなくて済む。
フォルダは作成日時の降順で取得して、その配下のファイルは名前順でソートするようにした。
foobar2000使ってるなら、Library
検索(Ctl+q)を開いて%added% DURING LAST 4 WEEKS
を入力、そこからCreate Playlist
なりCreate Autoplaylist
を作成して、それをm3u8
で保存すればいいだけの話なんだけど…しかも、これなら、ソートとかグルーピングもしやすい。
しかも、Autoplaylistなら、自動で更新されていく。まあ、それでも、別名保存と中身のパス編集してからのコピーと若干手間ではある。
上のバッチをRun Service
で登録して、ショートカットキー登録すれば、プレイリスト作成から、WALKMANでの保存までがワンクリックだ。