Translate

PowerShellで沢山あるファイルのファイル名を一括変換(Rename-Item)

PowerShellで沢山あるファイルのファイル名を一括変換


最近電子書籍で本を買うことが増えてきた。

BookWalkerという電子書籍の本は、昔はWindowsでオフラインで閲覧できるビューアーのアプリがあったのだけれども、なんか、ブラウザで閲覧する方式に変わって、ネットが無いと閲覧できなくなって、ネット回線があまり無い地域に出張した際、最悪だった(´;ω;`)

と、いう事で、電子書籍の内容を全部スクリーンショットをして画像にして、いつでも読めるようにしたのだけれども、スクリーンショットしたファイル名が、下の画像のようになって今後、他の本を画像にした際に何の本か分からなくなったので、一括でファイル名を変更することに・・

(ちなみに、Windows10では、Winボタン + Alltボタン + Prt Scrボタンの同時押しで、ファイルとしてスクリーンショットを自動的に保存が出来るようになっていて、かなり便利になった)


ファイル名は全部 「スクリーンショット (1)」「スクリーンショット (2)」...「スクリーンショット (217)」のようになっている。

これを

現在 スクリーンショット(1....n)
変更 はねばど_16_1....n  <16巻なので、16ってしてます>

となるようにPowerShellで一括変換したいと思いまーす!

PowerShelは、メモ帳で編集も出来るけれど、Windowsには、PowerShellのファイルを編集実行する為のエディターが初めからインストールされているので、そっちを使います!

Windowsのスタートメニューを押した直後に入力する箇所はないけれど、[Power] て入力すると、下の画像みたいアプリケーション候補が表示されます。



この中から、[PowerShell SE]を選ぶと下記のような画面が表示されます。


この状態で開かれた場合は、スクリプトが編集できる状態ではないので、メニューバーより「ファイル」→「新規作成」の順に選択していきます。

すると、スクリプトの編集画面が表示されます。


上側の白い部分を下記のように入力します。

Set-Location "C:\Users\USER\Pictures\Screenshots\はねバド_16"  #ファイルが保存されているフォルダーへ移動

$files = get-childitem -file -name                                                    #フォルダー内のファイル名を全て取得して$files変数に格納
$count = 0

foreach($file in $files)                                                                    #$filesに格納されているファイル名を$fileに順番に抜き出して処理
{
    $count++
    $newname = "はねバド!_16_" + $count + ".jpg"
    Rename-Item $file -NewName $newname                                   #ファイル名を設定
}

Get-ChildItem -name




このぼたんか、[F5]ボタンを押すと、実行されます。


するとこんな感じで沢山変更する必要があったファイル名が、オイラ~の思った通りの規則でファイル名が変更された!








このブログの人気の投稿

VBAのADOで「パラメーターが少なすぎます。xを指定してください。」と表示された場合の原因

ACCESSでバーコードスキャンしたら自動でイベントを起こす方法

PostgreSQL 11 でpg_dumpallを使ってバックアップしたデータをリストアするとき文字化けの対処法

ACCESSのVBAを実行するとACCESSが強制終了する事がある

VBSでマクロの実行時に警告を非表示にする方法

ACCESSでバーコードをスキャンして登録更新する簡単なサンプル

ACCESSのVBAでリストビュー(ListView)を使う為の設定 | Office365

ACCESSのVBAでADOを利用したバインド変数を利用したデータベース連携方法

pgAdmin 4が遅いのは仕方がない | PostgreSQL things.

ASP.NETのでクライアント証明書を使ったログイン認証を行う方法