あるフォルダ配下のファイル一覧を相対パスっぽい形式の一覧出力

DOSだと

dir /D /B /S

に対して for を使って書く見たいですが、面倒なのと
「今更覚えても応用利かないし・・・」

ってことで PowerShell で書いてみたところ

$root = '[フォルダの絶対パス]'
dir -Path $root -Recurse |
? { $_.Attributes -ne "Directory" } |
? { $_.Name.EndsWith(".sql") } |
% { $_.FullName.TrimStart($root) }

条件を付けない場合はDOSのほうが短く書けそうなので、あまりPowerShellの強みが見えにくいというのが何とも歯痒いです。

PowerShell に List, Array, Seq, Map, Set などのモジュールがあればもっと便利になるかも??