以前、フォルダからコマンドプロンプトを立ち上げて、一括変換する方法をご紹介していたのですが
Windowsのバージョンアップにともなって、コマンドプロンプトをフォルダから立ち上げることができなくなってしまいました。。。残念。
ということで、残されるはPowerShellを使っての変換にチャレンジです!
PowerShellってなんとなく敷居が高く感じるのは筆者だけなんでしょうか?w
フォルダからPowerShellを立ち上げる
素のPowerShellを立ち上げてディレクトリ移動していくのって、やっぱり面倒ですよね?
ということで、以前と同じ方法でPowerShellを立ち上げられるのを利用しちゃいましょう。
まず、一括変換したいフォルダを開きます。
上部メニューの「ファイル」をクリックして、「Windows PowerShellを開く(R)」からPowerShellを立ち上げます。
すると開始ディレクトリ位置が開いたフォルダと同じに! これは楽ちん!
これで準備は完了です。
拡張子を書き換えるコマンドはコレ!
さて、スバリコマンドを記述してみます。コピペして拡張子部分を書き換えて使用してみてくださいね!
上記の例ですと、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 つのパラメータを付加するだけです。
- ファイルまたはフォルダの現在のパス
- ファイルまたはフォルダの新しい名前
ずばりそのまま、ファイルやフォルダの名前を変更するのに使用しているわけですね。「-NewName {$_ -replace ”元の拡張子”,”変換後の拡張子”}」の引数にて一括で対応する拡張子を書き換え(replace)してくれています。
ま、この辺りは理解しなくても、上のコマンドをコピペして使えばOKかな?w
まとめ
いかがでしたでしょうか? PowerShellになることで、コマンド(スクリプト)がちょっぴりわかりにくいような印象でしたが、分解してみればそれほど難しくないことがわかりました。
うまく活用していただければ幸いです!