「move」コマンドでらくらくファイルリネーム |
MicrosoftがリリースしているOS「Windows 7」は、GUI(グラフィカルユーザーインタフェース)を主なUI(ユーザーインタフェース)として採用していますが、CUI(コマンドラインユーザーインタフェース、またはキャラクタユーザーインタフェース)である「コマンドプロンプト」も用意しています。そこで本稿では、このコマンドプロンプト上で動作するコマンドや、特定の作業を自動化するバッチファイルを使用し、ライフハック的な活用方法を紹介していきます。
今回はGUIの弱点とも言える、自動作業をコマンドラインで補完しましょう。そもそもCUIの優位性は単純作業を繰り返す自動化が容易な点です。例えばプロジェクト名の変更により、大量のファイル名を変更しなければならない場面に出会(でくわ)したとしましょう。その際、ワンファイルずつリネーム作業を行なうのは面倒なことこの上ありません。一見するとファイルをまとめて選択し、リネーム作業を実行すればよい様に見えますが、Windows 7の場合「{ファイルもしくはフォルダー名}(順番の数字)」となり、ファイル名が意味をなさなくなります。ちなみにこのリネーム操作は、直後であれば[Ctrl]+[Z]キーを押せば、リネーム前の状態に戻りますので安心してください(図01~02)。
さて、コマンドラインでファイル名やフォルダー名を変更するコマンドが「ren(rename)」と「move」。前者は名称を変更する「rename」から付けられたコマンド名、後者は文字どおり移動することを指すコマンド名です。両者の機能的な違いですが、前者はあくまでもファイル名やフォルダー名を変更する機能しか備えておらず、リネームと同時に異なるフォルダー(ディレクトリ)へ移動させるには、後者の「move」コマンドを使用しなければなりません(図03~04)。
このように、異なるフォルダーへの移動操作が可能な「move」コマンドですが、移動先に同一名を持つファイルやフォルダーが存在する場合、上書きするか確認をうながされます。ケアレスミスによる上書きを避けるための機能ですが、上書きを強制実行する「/y」オプションを使いましょう。図05の画面のとおり確認をうながされず、ファイルやフォルダーのリネームおよび移動が実行されます(図05)。
ちなみに本動作は、環境変数「COPYCMD」で「/y」オプションを設定すれば、「move」コマンド実行時に同オプションを使用しなくても強制上書きが実行されますが、一時的に同設定を無効にするときは、コマンドラインから「/-y」オプションを使いましょう。もっともバッチファイルで「move」コマンドを使用する際は、同環境変数も参照されず、強制上書きモードになりますので、注意してください。また、同環境変数はファイルやフォルダーのコピーを行なう「xcopy」コマンドにも反映されます(図06)。