MOVE = ファイルやフォルダーを移動する - Windowsのコマンドプロンプト(bat,cmd)
○Windows XP
指定したファイルやフォルダーを移動します。o 同じフォルダーにある複数のファイルを、コマンド1つで移動させる事が出来ます。
o 移動先に別の名前を指定する事で、ファイル名やフォルダー名を変更する事も出来ます。
+ もっとも、名前変更だけでしたら、REN (= RENAME) コマンドの方が便利です。
o このコマンドは、環境変数 COPYCMD で指定した値を、オプションとして取り込みます。
+ ですので、予期しない動作をさせたくない時は、オプションを指定する、もしくは COPY コマンドなどへの影響が無い事を確認して、環境変数 COPYCMD の値を空にする事をおすすめします。
**** 書式
--------
move [ /y | /-y ] ファイル名 移動先の場所
--------
o コマンド名やキーワードは、大文字小文字のどちらでも大丈夫です。
o /y = 上書きする時に、確認メッセージを表示しません。
o /-y = 上書きする時に、確認メッセージを表示します。
+ /y オプションと一緒に指定すると、エラーになります。
+ これらのオプション指定が無い時は、環境変数 COPYCMD の値に依存します。
+ 環境変数 COPYCMD の値が「/Y」もしくは「/y」の時、上書きする時に確認メッセージを表示しません。
+ 環境変数 COPYCMD の値が上記以外、もしくは設定されていない時は、確認メッセージを表示します。
o ファイル名 = 移動したいファイル名、もしくはフォルダー名です。
+ ファイルの場所とファイル名を「\」でつなぎます。
+ 今居る場所からの相対パスも指定出来ます。
+ ファイル名部分の指定には、ワイルドカード(「*」や「?」)を使用出来ます。
+ 但し、フォルダーを移動する時は、ワイルドカードを指定出来ません。
+ このコマンドでは、「\」の代わりに UNIXの区切り文字「/」を使う事も出来ます。
o 移動先の場所 = 移動先のフォルダー、もしくは移動後のファイル名のパスを指定します。
+ ファイル名まで指定すると、ファイルの名前を変更する事が出来ます。
+ フォルダーの移動の場合は、パスの最後が存在しない名前の時、フォルダーの名前が変わります。
+ パスを書かずにファイル名やフォルダー名だけ指定した時、カレントディレクトリに移動します。
+ 「\」の代わりに UNIXの区切り文字「/」を使う事も出来ます。
**** 戻り値 ( ERRORLEVELの値。確認分のみ )
o 0 = 成功。「上書きしますか」質問の後に n を選択した時も、成功になります。
o 1 = エラー
+ 「重複するファイル名が存在するか、またはファイルが
見つかりませんでした。」 = フォルダーに対して、ワイルドカード(「*」や「?」)は使用出来ません。
+ 「指定されたパスが見つかりません。」 = 移動するファイルやフォルダーが見つかりませんでした。もしくは、移動先のフォルダーが見つかりませんでした。
+ 「指定されたドライブが見つかりません。」 = パスの先頭に書いたドライブ名が、存在しませんでした。
+ 「ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。」 = ファイルの無い所では、ワイルドカードは使用出来ません。
+ 「デバイスの準備ができていません。」 = CD-ROM や DVD などが入っていません。
+ 「コマンドの構文が誤っています。」 = オプションの指定が間違っています。( /Y と /-Y の同時指定など)
**** 使用例
o 「私の」で始まる名前のファイルを c:\ミクさん フォルダーに移動します。
--------
move 私の* c:\ミクさん
--------
+ コマンド名は、大文字で書く事も出来ます。
o 全て上書きしたい時。 /Y オプションを付けます。
--------
move /y 私の* c:\ミクさん
--------
o 上書きしたくない時の例
+ 直接指定する事は出来ませんので、FOR 文を使うなどの工夫をします。
+ バッチファイルの場合(= %を2つにします)
--------
for %%F in (私の*) do if not exist "c:\ミクさん\%%~nxF" move "%%F" "c:\ミクさん\%%~nxF"
--------
+ 「私の*」の部分に空白を入れる場合は「"」で括ります。例:「"mikusan no *"」
+ コマンドプロンプト画面に直接打つ場合
--------
for %F in (私の*) do if not exist "c:\ミクさん\%~nxF" move "%F" "c:\ミクさん\%~nxF"
--------
**** 機能
o 指定したファイルやフォルダーを移動します。
o 移動先が現在の場所(= カレントディレクトリ)以外の時は、パスを指定する必要があります。
o 移動先に別の名前を指定する事で、ファイル名やフォルダー名を変更する事も出来ます。
+ フォルダー名の変更の場合は、存在しない名前を指定する必要があります。
+ もっとも、ファイル名やフォルダー名だけを変更する時は、REN(= RENAME) コマンドの方が便利です。
o 同じフォルダーにある複数のファイルを、同時に移動する事が出来ます。
+ ワイルドカード(「*」や「?」)を使用します。
+ ワイルドカード使用時、フォルダーは移動対象になりません。
+ また、フォルダーだけが移動対象として見つかった時は、エラーになります。
o オプションを指定しない時、既定では画面上で「上書きしますか?」と質問します。
+ 但し、環境変数 COPYCMD に /Y を指定していると、質問せずに上書きします。
o /Y オプションを使うと、上書き時に質問するかどうかを指定出来ます。
o /Y オプションや /-Y オプションを使うと、上書き時に質問するかどうかを指定出来ます。
** MOVEコマンドの対象にならないファイル
o MOVEコマンドは、次の属性を持つファイルを、検索対象から「除外」します。
+ システムファイル属性
+ 隠しファイル属性
o これらのファイルの属性変更は、ATTRIB コマンドで行う事が出来ます。
o また、隠しファイル属性は、ファイルのプロパティで設定する事も出来ます。
**** 確認したバージョン
o Windows XP Service Pack 3
==
関連ページ:
▼Windowsコマンド。ファイルとフォルダー関連(▼ABC順)
▼Windowsコマンド一覧(▼ABC順)
▼コマンドプロンプト画面
▼制作メモ
> REN = ファイルやフォルダーの名前を変更する
REPLACE = ファイルを置き換える(= 差分コピーする)
DEL = ERASE = ファイルを削除する
(2011年2月20日追加。機能欄にて、MOVEコマンドの対象にならないファイル)