【Windows10】ソフト不要! 拡張子を一括で変更~PowerShell版~【意外に簡単】

以前、フォルダからコマンドプロンプトを立ち上げて、一括変換する方法をご紹介していたのですが

【Windows10】ソフト不要! 拡張子を一括で変更【意外に簡単】
業務で動画から画像を大量に切り出す作業をしていたんですが、ある理由で切り出した画像の拡張子を一括変換しなきゃならない羽目になってしま...

Windowsのバージョンアップにともなって、コマンドプロンプトをフォルダから立ち上げることができなくなってしまいました。。。残念。

ということで、残されるはPowerShellを使っての変換にチャレンジです!

PowerShellってなんとなく敷居が高く感じるのは筆者だけなんでしょうか?w

スポンサーリンク

フォルダからPowerShellを立ち上げる

素のPowerShellを立ち上げてディレクトリ移動していくのって、やっぱり面倒ですよね?

ということで、以前と同じ方法でPowerShellを立ち上げられるのを利用しちゃいましょう。

まず、一括変換したいフォルダを開きます。

上部メニューの「ファイル」をクリックして、「Windows PowerShellを開く(R)」からPowerShellを立ち上げます。

すると開始ディレクトリ位置が開いたフォルダと同じに! これは楽ちん!

これで準備は完了です。

拡張子を書き換えるコマンドはコレ!

さて、スバリコマンドを記述してみます。コピペして拡張子部分を書き換えて使用してみてくださいね!

Get-ChildItem -Name | Rename-Item -NewName { $_ -replace “\.png”, “.bmp”}

上記の例ですと、png拡張子をbmp拡張子に書き換えるという意味になります。

実際に実行してみると…

pngからbmpに一括変換できました!

意外に簡単でしょ?

コマンドの簡易的な解説

まず「Get-ChildItem -Name」から。

「Get-ChildItem」は、ディレクトリ情報を取得するためのコマンドレットです。例えば、ファイルやフォルダなどの情報を取得することができます。

Windows PowerShellでディレクトリを操作する上での基本となるため、このコマンドレットで確認した結果を基にして、次のタスクを実行するといった用途でよく使われます。また、環境変数やレジストリの情報を取得することもできます。

Get-ChildItemコマンドレットは、コマンドプロンプトで使われていた「dir」コマンドとよく似ています。そのため、Get-ChildItemコマンドレットには「エイリアス(別名)」として「dir」が既定で設定されていることから、「dir」と入力しても実行することができます。

Windows PowerShell基本Tips(1)@IT mediaさんから引用

ということで、ディレクトリ内の情報を取得しているわけですね。引数となっている「-name」でファイル名のみを抽出している感じになります。

つぎに「Rename-Item -NewName」

Rename-Item

ファイルやフォルダの名前を変更できます。Rename-Item に続けて 2 つのパラメータを付加するだけです。

  • ファイルまたはフォルダの現在のパス
  • ファイルまたはフォルダの新しい名前

Microsoft TechNetより引用

ずばりそのまま、ファイルやフォルダの名前を変更するのに使用しているわけですね。「-NewName {$_ -replace ”元の拡張子”,”変換後の拡張子”}」の引数にて一括で対応する拡張子を書き換え(replace)してくれています。

ま、この辺りは理解しなくても、上のコマンドをコピペして使えばOKかな?w

まとめ

いかがでしたでしょうか? PowerShellになることで、コマンド(スクリプト)がちょっぴりわかりにくいような印象でしたが、分解してみればそれほど難しくないことがわかりました。

うまく活用していただければ幸いです!

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする