ファイルのドラッグ&ドロップは移動?コピー?動作の違いを徹底解説!
本エントリーの目次
ファイルを『コピー』したはずが、『移動』になってしまうときがある!?
PCを使って何らかのデータファイルを編集する際、オリジナルデータは後日必要になるかもしれないので、保管しておきたい。
といったケースは、よくありますよね。
こういった場合には、まずオリジナルデータをコピー・複製。
そしてコピー先のファイルを編集することで、コピー元(オリジナル)のデータは編集せずに保管しておくことが多いでしょう。
このような運用とすることで、オリジナルデータを保管しつつ、コピー先のファイルを新たなデータファイルとして編集が可能となります。
そこで、データファイルを『コピー』しようと、コピー元のフォルダーからコピー先のフォルダーにドラッグ&ドロップ操作を実行。
ところがデータが『コピー』されず『移動』されてしまい、コピー元のフォルダーから消えてしまうことがあります。
この動作の違いがどういう条件により起こるのか、気になってはいたが知らないなぁ…。
という方は多いと思います。
そこで今回は、ファイルをドラッグ&ドロップしたときに、ファイルが移動されるのか。
あるいはコピーされるのか、その動作の違いの条件をご紹介します!
またドラッグ&ドロップ時にコピーを強制したり、移動を強制する方法についてもご紹介しますよ~!
データファイルをドラッグ&ドロップ時、移動・コピー動作の違いが起こる条件
データファイルをドラッグ&ドロップ時、ファイルが移動されるのか。
あるいはコピーされるのかという動作の違いは、例外はあるものの、原則として同一ドライブ上でのドラッグ&ドロップ操作であるかどうかが条件であり、この違いにより挙動が変わります。
具体的には、条件に応じて以下のように挙動が変わります。
- 同一ドライブ上でのドラッグ&ドロップ操作は移動となる
- ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなる
そのため動作の違いを理解するには、Windows PCのドライブの概念について、その概要を知っておく必要があります。
Windowsのドライブとは
Windows PCでは、ストレージ(HDDやSSDなどの記憶媒体)内の一部の保存領域のことを、ドライブと呼んでいます。
そしてドライブには、CやDといったドライブレター(ドライブ文字)が割り振られ、それぞれを区別しています。
これはエクスプローラーから確認でき、たとえば以下のような表示であれば、CとD、WドライブがPC内に存在していることになります。
CやDといったドライブは、それぞれが別々の物理的なストレージである場合もありますし、一つの物理的なストレージ内にCの領域とDの領域を持つこともあります。
最近のPCでは、SSDというストレージを一基だけ搭載し、ドライブはCドライブだけというタイプ。
または、SSDとHDDというストレージをそれぞれ一基ずつ搭載し、SSDをCドライブ、HDDをDドライブに割り当てている、というタイプの製品が多いですね。
このWindowsのドライブの概念を把握していれば、ドラッグ&ドロップ操作時の挙動の違いを理解しやすいでしょう。
同一ドライブ上でのドラッグ&ドロップ操作は移動となる
Cドライブ上のフォルダー内のデータファイルを選択してドラッグを始め、Cドライブ上の別のフォルダーでドロップ操作を行った。
といったように、同一ドライブ上でのドラッグ&ドロップ操作は移動となります。
そのためダウンロードフォルダー(C:\Users\[ユーザー名]\Downloads)から、デスクトップ(C:\Users\[ユーザー名]\Desktop)にデータファイルをドラッグ&ドロップ操作した場合、同じCドライブ上での操作となることからファイルは移動される、というわけ。
ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなる
Dドライブ上のフォルダー内にあるデータファイルを、Cドライブ上のフォルダー内にドラッグ&ドロップ操作するなど、ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなります。
同一ストレージ内であっても、ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなる
先にも書いたとおり、一つの物理的なストレージ内にCの領域とDの領域を持つこともあります。
このケースではDドライブ上のフォルダーからCドライブ上のフォルダーに対してドラッグ&ドロップ操作を行った場合、一基の物理的なHDD(またはSSDなどのストレージ)内での操作となりますよね。
ですがたとえ一基の物理的なHDD内での操作であっても、コピー先のCとコピー元のDは異なるドライブ。
したがって、ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作に該当するため、移動ではなくコピーが行われます。
共有フォルダーが関係するドラッグ&ドロップ時、移動・コピー動作の違いについて
共有フォルダーが関係するドラッグ&ドロップ時には、原則として以下のように動作します。
別のPCが公開している共有フォルダー・ローカルフォルダー間のドラッグ&ドロップ操作はコピーとなる
自分のPCとは異なる、別のPC(ファイルサーバーなど)が公開している共有フォルダーと、ローカルフォルダー※の間でドラッグ&ドロップ操作を行うこともあるでしょう。
この場合には、データファイルのコピーが行われます。
※自分のPCのストレージ・ドライブ内にあるフォルダーのこと。
別のPCが公開している共有フォルダーは、ローカルフォルダーとはドライブが異なる。
だから『ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピー』と同じ挙動になるんだ!
と考えると、覚えやすいでしょう。
同一の共有フォルダー内でのドラッグ&ドロップ操作は移動となる
共有フォルダー内にあるフォルダーから、同一の共有フォルダー内にある別のフォルダーに対し、ドラッグ&ドロップ操作を行うと、データファイルは移動されます。
こちらは同一の共有フォルダー = 同じドライブだから、同一ドライブ上でのドラッグ&ドロップ操作であり移動されるんだ!
という考え方をすると、覚えやすいはず。
異なる共有フォルダー間でのドラッグ&ドロップ操作はコピーとなる
共有フォルダー内にあるフォルダーから、別の共有フォルダー内のフォルダーに対し、ドラッグ&ドロップ操作を実行。
するとデータファイルはコピーされます。
ドラッグ&ドロップ操作により実行されるのが、『移動』か『コピー』かを確認する簡単な方法
ここまでにご紹介したとおり、原則として同一ドライブ上でのドラッグ&ドロップ操作であるかどうかが条件であり、この違いにより挙動が変わります。
ですが操作の度に、これはコピー元と先が同一ドライブだから移動だ。
あるいは異なるドライブだからコピーだ、というように考えるのは面倒ですよね。
幸いなことに最近のWindows OSでは、ドロップ操作を行うと移動とコピーのどちらが実行されるのか、ドラッグ中に表示されるようになっています。
ドロップ操作を行うと移動が行われる場合には、ドラッグ中に以下のように『(保存先)へ移動』というように明示されます。
またコピーが実行される場合は、ドラッグ中に以下のように『(保存先)へコピー』と明示されます。
したがってドラッグ&ドロップ操作時に、移動とコピーのどちらの操作が実行されるのか知りたい場合には、この表示を確認すると良いでしょう。
ドラッグ&ドロップ操作時、移動やコピーを強制する方法
ドラッグ&ドロップ操作により、データファイルの移動やコピーを行う際、通常のドラッグ&ドロップ操作であれば移動となってしまう場合でも、コピーとしたい(コピーを強制したい)ケースもあるでしょう。
これとは逆に、通常の操作であればコピーとなってしまう場合でも、移動したい(移動を強制したい)ケースもまたあるでしょう。
こういった場合には、ドラッグ&ドロップ操作中にキーボード操作を併用することで、コピーや移動を強制可能です。
移動を強制する場合:
キーボードの『Shift』キーを押しながら、ドラッグ&ドロップ操作を実行する。
コピーを強制する場合:
キーボードの『Ctrl』キーを押しながら、ドラッグ&ドロップ操作を実行する。
原則のとおりに動作しない、例外的なケースについて
繰り返しとなりますが、原則として同一ドライブ上でのドラッグ&ドロップ操作であるかどうかが条件であり、それに応じて以下のように挙動が変わります。
- 同一ドライブ上でのドラッグ&ドロップ操作は移動となる
- ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなる
多くの場合では、Windowsはこの原則にしたがった動作を行います。
ですがこの原則どおりには動作しない例外的なケースもあるため、最後に2つの例をご紹介しましょう。
同一ドライブであっても、共有フォルダーとローカルフォルダー間のドラッグ&ドロップ操作はコピーとなる
これはコピー先とコピー元のフォルダーの実態が同一のドライブ上に存在しても、移動ではなくコピーが実行されるケースで、以下のような状況で発生します。
Dドライブ内に共有フォルダーを作り、エクスプローラーで\\localhost\共有フォルダー名。
または\\コンピューター名\共有フォルダー名というUNCパスで表示します。
そしてDドライブ上の別のフォルダーとの間でドラッグ&ドロップ操作を実行。
上記手順では、同一ドライブ上での操作であるにも関わらず、移動ではなくコピーが実行されます。
変則的な操作・条件と言えなくもないですが、こういった挙動となるのは事実です。
同一ドライブであっても、異なる共有フォルダー間のドラッグ&ドロップ操作はコピーとなる
こちらも原則にしたがうと移動となるべきドラッグ&ドロップ操作が、コピーとなってしまう、というものです。
このケースでは、Dドライブ内に共有フォルダーを2つ作り、それぞれの間でドラッグ&ドロップ操作を行うと発生します。
たとえばD:\share-a、D:\share-bというパスのフォルダーを共有フォルダーとし、それぞれshare-a、share-bという共有名で共有フォルダーとして公開したとしましょう。
そして\\localhost\share-aと\\localhost\share-bのパスをエクスプローラーで開き、ドラッグ&ドロップ操作した場合、同一ドライブ内での操作ですから原則にしたがえば移動のはず。
ですが実際には、コピーが行われます。
こちらも変則的な操作・条件と言えなくもないですが、こういった挙動となります。
これ以外にも、同一の共有フォルダーへのアクセスに使用するUNCパスの違い(\\localhostと\\コンピューター名の違い)により、移動となりそうな操作がコピーとなるなど、『同一ドライブ上でのドラッグ&ドロップ操作は移動となる』、『ドライブをまたがる(異なるドライブとの)ドラッグ&ドロップ操作はコピーとなる』という原則どおりには動作しない例外的なケースが存在します。
したがって重要なデータファイルをコピーまたは移動する際は、ドラッグ&ドロップ操作、キーボード操作※、マウス操作のどれで行っても構いませんが、想定どおりにコピー、または移動されているかを確認することを強くおすすめします。
※ファイルやフォルダーを選択してから、キーボードの『Ctrl』キーを押しながら『C』キーを押下するとコピー、『Ctrl』キーを押しながら『X』キーを押下すると切り取り、『Ctrl』キーを押しながら『V』キーで貼り付け操作が実行されます。
以上、参考になさってくださーい!