ファイルをランダムに開くPowerShellスクリプト

「劇場版 仮面ライダージオウ Over Quartzer」良かったですね。冷静に考えると何もかもがめちゃくちゃだし年号に対する私物化もいいとこなのですが(天皇気取りか)、いいんだよ、いいじゃないか。夏までは平成なんだよ東映と我われの間では。もっと言うと映画もVシネもあるし冬まではセーフかもしれない。

平成はともかく、動画でも楽曲でも何でもいいんですが、ちょっと色々あってコマンドライン実行によって何らかの適当なファイルを引いてきたくなったのです。理由は話せば長くなる。

Windowsだとバッチファイルでやるには少し辛そうだったのでPowerShellのコマンドを探してガチャガチャやった結果、

1

Get-ChildItem -Name -Recurse -Include *.mp3 > files.txt

事前に対象ディレクトリ内で上のコマンドを実行してファイルリストを作っておいて(ここでは再帰検索、mp3ファイルを抽出)、

2

$a = ([System.Array](Get-Content .\files.txt));$b = (Get-Random $a -Count ($a).Length)[0] | Resolve-Path; Start-Process $b

本番、先述のリストを開いてランダムに1行ピックしてStart-Process。

という風にしました。リスト作成が充分早く終わるなら、ファイルを挟まずにパイプ使って即時実行してもいいと思います。