コマンドプロンプトを使ってみよう(初心者向け・ファイル移動編)

ファイルを移動するにはマウスでちょこちょこっと操作すれば簡単に出来ます。しかしながら、色々なファイルが入り混じってる状態で指定の拡張子だけを選択して移動すると、これまた間違って移動させてしまったりして大惨事なんてこともあると思います。そんな大惨事にならないように、今日はコマンドプロンプトでファイル移動が出来るコマンドを紹介します。

 

ファイルを移動させる

 

ファイル移動は簡単です。moveコマンドを使用してファイルを移動させるだけです。基本形は以下です。

move c:\FromFilePath c:\ToFilePath

c:\FromFilePath』の部分に移動させたいファイルパスを記述し、『c:\ToFilePath』の部分に移動先のファイルパスを記述します。また、ファイルパスの部分をディレクトリパスに変更することで、ディレクトリの移動も可能です。

 

まとめてファイルを移動させたい

もちろん、まとめてファイルを移動することも可能です。ワイルドカードを指定することで、まとめてファイルの移動が可能です。以下の例は、拡張子が「.csv」のファイルをまとめて「tomove」というディレクトリに移動するコマンドです。

move c:\FromDir\*.csv c:\tomove

上記の場合だと、『FromDir』ディレクトリ以下にある拡張子「.csv」ファイル全てを、『tomove』というディレクトリの直下に移動してくれます。

 

移動先でファイル名やディレクトリ名を変更したい

移動先で同じファイル名やディレクトリ名が存在する場合、オプションを指定していない場合は上書きの確認が行われます。オプションについては後述しますが、時として上書きしたくない場合があると思います。事前に移動先にファイル名を検知しているのであれば、移動先に別名でファイル移動が可能です。

例えば、移動元のファイルが「FileA.txt」で移動先にも「FileA.txt」があるとします。上書きを回避したいので、移動元の「FileA.txt」という名称のファイルを移動先で「FileB.txt」とする場合は以下の様に記述します。

move c:\FileA.txt c:\FileB.txt

上記の様に記述すれば、元々の「FileA.txt」を「FileB.txt」として移動することが出来ます。もちろん、ディレクトリを別名に変更して移動させることも可能です。

 

ファイル移動のオプションを使ってみる

ではhelpコマンドを使用してDOS先生にmoveコマンドのオプションについて尋ねてみます。コマンドプロンプトに以下を入力してEnterキーを押下します。

help move

DOS先生からのお返事は以下です。

ファイルを移動およびファイルとディレクトリ名を変更します。
複数のファイルを移動するには:MOVE [/Y | /-Y] [ドライブ:][パス]ファイル名1[,...] 受け側
ディレクトリ名を変更するには:MOVE [/Y | /-Y] [ドライブ:][パス]ディレクトリ名1 ディレクトリ名2
[ドライブ:][パス]ファイル名1 移動するファイルの場所と名前を指定します。
受け側 ファイルの新しい場所を指定します。移動先はドライブ文字とコロン、ディレクトリ名、または組み合わせから成ります。
1つのファイルだけを移動する場合で、そのファイルを移動するときに名前を変更する場合、ファイル名を指定できます。
[ドライブ:][パス]ディレクトリ名1 変更するディレクトリ名を指定します。
ディレクトリ名2 新しいディレクトリ名を指定します。
/Y 移動先の既存のファイルを上書きする前に確認のメッセージを表示しません。
/-Y 移動先の既存のファイルを上書きする前に確認のメッセージを表示します。
環境変数 COPYCMD にスイッチ /Y を設定できます。これは、コマンド ラインの /-Yで無効になります。
既定では、MOVE コマンドがバッチ スクリプトから実行されていない場合、上書きを確認します。

 

オプションは二つですね。「/y」オプションと「/-y」オプションです。このオプションは移動先に同名のファイル名が存在する場合に上書き確認を実行するかのオプションです。「/y」を指定すれば上書きの確認は実施せず、「/-y」を指定すれば上書きの確認を実施します。上書きの確認が煩わしい場合は、以下の様に「/y」を指定すると上書き確認が実施されません。

move /y c:\FromFilePath c:\ToFilePath

 

まとめ:moveの原理にはcopyとdelの組み合わせと一緒

今回はファイル移動について紹介させて頂きました。そもそも移動自体はcopyコマンドを実行した後で、元のファイルに対してdelコマンドを実行することと同じです。2回コマンドを実行するか1回実行するかの差なので、お好みで実行してみて下さい。以前、copyコマンドとdelコマンドについての記事を投稿したので、そちらも併せて確認頂ければと思います。