ここでは、Windows10のコマンドプロンプトやバッチファイルで使用できるMOVEコマンドについて紹介します。
目次
MOVEコマンド
MOVEコマンドを使用すると、ファイルを移動したり、フォルダー(ディレクトリ)の名前を変更することができます。
MOVEコマンドは、Cmd.exeの内部コマンドとして実装されています。
MOVEコマンドの構文
MOVEコマンドの/Y、/-Yスイッチ
/Yスイッチは、移動先に同名のファイルが存在する場合、ファイルを上書きする前に確認プロンプト(メッセージ)を表示しないようにします。
/-Yスイッチは、/Yスイッチとは逆に、ファイルを上書きする前に確認プロンプト(メッセージ)を表示します。
MOVEコマンドの既定値では/-Yスイッチが有効になっていますので、確認プロンプトが表示されます。
MOVEコマンドの[ドライブ:][パス]ファイル名1
移動するファイルの場所と名前(移動元)を指定します。
ファイル名にはワイルドカード「*」「?」が使用できます。
MOVEコマンドの受け側
移動するファイルの場所と名前(移動先)を指定します。
フォルダー名を指定した場合は、指定したフォルダーにファイルが移動されます。
移動元のフォルダーと同じ階層でファイル名を指定した場合はファイル名が変更されます。
省略するとかカレントフォルダーが使用されます。
MOVEコマンドの[ドライブ:][パス]フォルダー名1
変更するフォルダー名(変更前のフォルダー名)を指定します。
MOVEコマンドの[ドライブ:][パス]フォルダー名2
変更後のフォルダー名を指定します。
MOVEコマンドの実行例
以下にMOVEコマンドの実行例をいくつか示します。
実行例1
以下の例では、カレントフォルダー(現在のフォルダー)にあるファイル「example1.txt」を「C:\Destination」フォルダーに移動します。
1 2 |
C:\Command>MOVE example1.txt C:\Destination 1 個のファイルを移動しました。 |
実行例2
以下の例では、実行例1と同様にカレントフォルダーにあるファイル「example1.txt」を「E:\Destination」フォルダーに移動しますが、「E:\Destination」フォルダーには既に「example1.txt」という名前のファイルが存在します。
1 2 3 |
C:\Command>MOVE example1.txt C:\Destination C:\Data\JB\test.txt を上書きしますか? (Yes/No/All):y 1 個のファイルを移動しました。 |
実行例3
以下の例では、「C:\johobase」フォルダーにある拡張子が「.png」のファイルをすべて「E:\Destination」フォルダーに移動します。
移動先のフォルダーに移動対象のファイルと同名のファイルが存在している場合でも確認プロンプトメッセージが表示されないように/Yスイッチを指定します。
移動先の「E:\Destination」フォルダーには同名のファイル「image2.png」が存在しています。
1 2 3 4 |
C:\Command>MOVE /Y C:\johobase\*.png E:\Destination C:\johobase\image1.png C:\johobase\image2.png 2 個のファイルを移動しました。 |
実行例4
以下の例では、実行例3で実行したコマンドの/Yスイッチを/-Yスイッチに変更して実行します。
1 2 3 4 5 |
C:\Command>MOVE C:\johobase\*.png E:\Destination C:\johobase\image1.png C:\johobase\image2.png ファイルがあります。 1 個のファイルを移動しました。 |
ここでは、CドライブからEドライブへファイルを移動しようとしています。
ドライブが違う場合は上書き確認のプロンプトメッセージではなく「ファイルがあります」のメッセージが表示され、移動処理がキャンセルされます。
MOVEコマンドのYスイッチ、-Yスイッチについて
/Yまたは/-Yスイッチを環境変数の「COPYCMD」に登録しておくと、MOVEコマンドおよびCOPYコマンドの吉江の動作を設定することができます。
既定値としてコマンドライン中のスイッチではコマンドラインが優先されるので、既定の動作を一時的に変更したい場合は、コマンドラインで逆の意味のスイッチを指定します。
バッチファイル中でMOVEコマンドやCOPYコマンドを実行した場合は、/Yスイッチを指定していなくても確認プロンプト(メッセージ)は表示されません。
MOVEコマンドの代用となるコマンド
MOVEコマンドを使用するとファイル名を変更できますが、ファイル名を変更する場合、通常はRENコマンドを使用します。
フォルダーツリーを丸ごと移動する場合は、XCOPYコマンドやROBOCOPYコマンドを使用します。
暗号化されたファイルをFAT32ファイルシステムなどの暗号化をサポートしないファイルシステムに移動しようとするとエラーが発生します。
暗号化をサポートしないファイルシステムに移動する場合は、MOVEコマンドを実行する前に復号化するか、COPYコマンドに/Dスイッチを付けてコピーした後、元のファイルをDELコマンドで削除します。
移動対象のファイルがシンボリックリンクの場合の動作
移動対象のファイルがシンボリックリンクの場合は、リンクターゲット(送り側リンクが指し示す実際のファイル本体)ではなく、シンボリックリンクのまま(シンボリックリンク自体を)コピーします。
シンボリックリンクの移動操作には、管理者の特権が必要になります。