2023年3月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
無料ブログはココログ

 

« PowerShellでニコ動API(動画情報詳細取得)を使ってみる | トップページ | 今週届いた本 »

2014年3月 1日 (土)

PowerShellで複数のファイルの名前から一部を取得する

PowerShellが使え(ry
あるディレクトリにあるファイルのファイル名から一部を取得して列挙してみる。

  • ファイル名一覧は、Get-ChildItemコマンドを使う。
  • 特定の名前を選択するには、Where-Objectでファイル名($_.Nameで参照)に対して、正規表現(-match)を使う。
  • 特定の名前から一部を取得するのにやはり正規表現(-match)を使う。今度は丸括弧で括られたところを取り出して、ヒットしたところを参照するため$Matchesを使う。今回は、配列番号1の要素が欲しいもの。

以下は、ニコ動の動画Noがファイル名のmp3ファイルから動画Noだけを取得する方法を示す。

PS C:\Users\kotat_000> Get-ChildItem D:\Media\Mp3Data\vocaloid\mp3 | Where-Object { $_.Name -match '(sm|nm)\d+\.mp3'} | ForEach-Object { $a=$_.Name -match '((sm|nm)\d+)\.mp3'; $Matches[1]}
nm11011189
sm10082304
・・・

« PowerShellでニコ動API(動画情報詳細取得)を使ってみる | トップページ | 今週届いた本 »

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: PowerShellで複数のファイルの名前から一部を取得する:

« PowerShellでニコ動API(動画情報詳細取得)を使ってみる | トップページ | 今週届いた本 »