フォルダ内の全てのファイル名の先頭 6 文字を取り除く方法

英語の勉強を再始動しようと思い立ち、まずは単語の勉強方法を確立しようと思った。本屋へ行き、これを購入した。

聞いて覚える英単語 キクタン TOEIC Test Score 990 (CD・赤シート付) (キクタンシリーズ)

聞いて覚える英単語 キクタン TOEIC Test Score 990 (CD・赤シート付) (キクタンシリーズ)

これだけで TOEIC 990 をクリアできるとは思わないが、今や Podcast Player としてしか機能していない IS02 で毎日の通勤時間に聞くべく、iTunes を使ってインポートした。本書には A、B 2 枚の CD が付属しているのだが、インポートしたら下図のようになってしまった。

iTunes のインポートの設定がどうなっていたのか確認していないが、A、B 双方の CD に 35 個ずつあったファイルにそれぞれ 1 から 35 まで連番を振ってしまったようだ。名前順でソートすると上図のようにダブってしまう。そこでファイル名を変更しようと思ったが、どうすればよいか少し悩んだ。我が Windows 7 マシンには Perl とかこういうとき便利そうなものが入っていない。そこで今までほとんど使ったことのない PowerShell を使ってみることにした。

PS F:\test> $files = Get-ChildItem
PS F:\test> foreach($file in $files) {
>> $oldName = $file.Name
>> $newName = $oldName.Substring(6).ToString()
>> Rename-Item -Path $File.fullname -NewName $newName
>> }

下図のように期待する結果を得られた。万歳。