複数のサブフォルダから単一のフォルダにファイルをコピーする方法は?

写真アプリを使用して、自動再生ダイアログを介してカメラまたはSDカードから写真をインポートすると、多くのサブフォルダー(月単位および年単位)が宛先フォルダーに作成されますが、これは目的とは異なる場合があります。 これは、複数のサブフォルダーから選択した単一のフォルダーにすべてのファイルを再帰的に移動する方法を説明するステップバイステップガイドです。

たとえば、写真アプリを使用するときにインポートされる方法は次のとおりです。

特に多数のフォルダーがある場合、各サブフォルダーから単一のフォルダーに手動でファイルをコピーするのは面倒な作業です。 ただし、すべてのサブフォルダーから1つのフォルダーにファイルをすばやくコピーまたは移動する方法はいくつかあります。つまり、ディレクトリ構造を平坦化するため、すべてのフォルダーを掘り下げる必要はありません。

サブフォルダー内のファイルを単一のフォルダーに移動またはコピーする

Windowsの少なくとも3つの組み込みの方法を使用して、ファイルをサブフォルダーから単一のフォルダーにコピーまたは移動できます。 この手順は、ディレクトリ構造のフラット化とも呼ばれます。 3つの方法のいずれか、どちらか簡単だと思う方法に従ってください。

方法1:コマンドラインを使用する

シナリオ: d:\vacation snaps\2016フォルダーとサブフォルダーからすべてのファイルをd:\all snapsフォルダーに再帰的にコピーしましょう。

  1. コマンドプロンプトウィンドウを開きます。
  2. 次のコマンドを1つずつ実行し、各行の後でEnterキーを押します。
     md "d:\ all snaps" cd / d "d:\ vacation snaps \ 2016" / r%d in(*)do copy "%d" "d:\ all snaps \" 

    これにより、 d:\vacation snaps\2016\フォルダー内のすべてのファイルがd:\all snaps\フォルダーに再帰的にコピーされます。 ファイルを移動するには、 copymoveに置き換えcopy

    $config[ads_text6] not found

同じ名前のファイルが宛先に存在する場合、ファイルを上書きするかスキップするかを尋ねられます。

注:上記の例のように、宛先フォルダーのパスの後にバックスラッシュ( \ )を含めることは常に安全です。 末尾のスラッシュがないため、宛先パスが欠落していてコマンドを実行すると、フォルダーとサブフォルダー内のファイルがコピーされ、 D:\ドライブへのall snapsという名前の1つの単一ファイルに結合されます。


方法2:Windowsでライブラリ機能を使用する

ライブラリ機能はWindows 7で最初に導入され、Windows 10を含む後続のバージョンでも使用できます。ライブラリは、ユーザーのコンテンツの仮想コンテナーです。 ライブラリには、ローカルコンピューターまたはリモートストレージの場所に保存されているファイルとフォルダーを含めることができます。 Windowsライブラリは「保存された検索」に似ており、完全なコンテンツ検索と豊富なメタデータに支えられています。

ライブラリを使用して、複数の保管場所のコンテンツを単一の統合ビューに集約できます。 Windowsのライブラリ機能を使用して、ディレクトリ構造をフラット化しましょう。

次のようなフォルダ構造があるとします。

 D:\ PHOTOS└───カメラ├───2018-01├───2018-02├───2018-04├───2018-05└───2018-07 

各フォルダの下に、カメラからインポートされたいくつかの写真があります。 カメラのディレクトリ構造をフラット化し、すべての画像を1つのフォルダーに統合するには、次の手順に従います。

  1. 構造をフラット化する最上位のフォルダー( 写真など )を開きます。
  2. [ファイル]メニューの[オプション]をクリックします。 [表示]タブをクリックします

  3. 隠しファイル、フォルダー、ドライブの表示を有効にする
  4. [ 保護されたオペレーティングシステムファイル非表示にする]チェックボックスをオフにします(推奨)
  5. OKをクリックします。
  6. 親ディレクトリ(この例ではCamera )を右クリックし、[ ライブラリに含める ]→[ 新しいライブラリを作成 ]をクリックします

    フォルダーと同じ名前で新しいライブラリーが作成されます。

  7. ファイルエクスプローラーの左側のペインで、[ ライブラリ]を展開し、新しく作成したライブラリを選択します。
  8. デフォルトでは、ライブラリ内のアイテムはフォルダごとに配置されます。 そのディレクトリ構造内のファイルの集約ビューを表示するには(およびフォルダーを非表示にするには)、ライブラリの空の領域を右クリックし、[ 並べ替え ]→[ 名前 ]をクリックします。

  9. [ ホーム ]タブを選択します。
  10. リボンの[すべて選択]をクリックするか、Ctrl + Aキーを押して、ライブラリビューのすべてのファイルを選択します。
  11. 要件に応じて、[ 移動 ]または[ コピー ]ボタンクリックします。
  12. ファイルのコピー先/移動先のフォルダーを選択し、[ 移動 ](または[ コピー ])をクリックします。

    それでおしまい! Cameraフォルダ内のファイルは、コピー先に再帰的にコピーまたは移動されます—空のサブフォルダは残ります。

  13. カメラライブラリが不要になった場合は削除します。

次に、Windowsサーチを使用して同じことを行う方法を、以下の方法3で説明します。


方法3:Windows Searchを使用する

コマンドラインを使用したくない場合は、Windowsサーチを使用すると、ディレクトリ構造をフラット化できます。

  1. 多くのサブフォルダーを含む親フォルダー(最上位フォルダー)を開きます。

  2. [ファイル]メニューの[オプション]をクリックします。 [表示]タブをクリックします

  3. 隠しファイル、フォルダー、ドライブの表示を有効にする
  4. [ 保護されたオペレーティングシステムファイル非表示にする]チェックボックスをオフにします(推奨)
  5. OKをクリックします。
  6. [検索]ボックスに、次の検索クエリを正確に入力します。
     *。* NOT type: "file folder" 
    上記の検索クエリに関するメモ Windowsシステムの検索でファイルシステムフォルダー( ディレクトリ )がリストされないようにするためにNOT演算子を使用しています。フォルダー自体ではなく、ファイルのコピーまたは移動のみを行うためです。
    • 検索クエリ*.* NOT "file folder" は、インデックス付きの場所でのみ機能します 。 ソースフォルダーの場所がインデックス化されていない場合は、 *.*使用し*.*

    はい。 *.*使用するだけです(検索結果にフォルダーがリストされます)。 その場合は、ステップ8に到達したときに、表示されているフォルダーを除いたすべてのファイルを選択する必要があります。

  7. すべてのサブフォルダー検索オプションがデフォルトで有効になっていると、Windowsサーチはすべてのサブフォルダー内の一致するすべてのアイテムの検索を再帰的に開始します。 これには、システム属性または隠し属性(またはその両方)の属性を持つファイルを含むすべての一致するファイルがリストされます。
  8. 検索が完了するまで待ってから、Ctrl + Aを押して、検索結果のすべてのファイルを選択します。
  9. [ ホーム ]タブを選択します。
  10. [ホーム]タブで、[ コピー先 ]ボタンクリックします。 コピーする代わりにファイルを移動するには、代わりに[ 移動 ]ボタンをクリックます。 [ 移動先 ]ドロップダウンメニューの[ 場所の選択... ]オプションをクリックします。

  11. [アイテムの移動]ダイアログで、すべてのファイルを移動するフォルダーを選択します。 新しいフォルダを作成するには、[新しいフォルダの作成]ボタンをクリックし、それに応じてフォルダ名を割り当てます。 フォルダを選択したら、[ 移動 ]をクリックします。これにより、すべてのファイルが複数のサブフォルダから選択した宛先フォルダに再帰的に移動します。

方法4:Total Commanderを使用する

Total Commanderファイルマネージャーソフトウェアを使用している場合は、それを使用してディレクトリ構造を簡単にフラット化できます。

  1. Total Commanderを起動し、フラット化するフォルダーを開きます。

  2. Ctrl + Bを押して、モードをブランチビューに変更します。 または、 コマンドメニューからブランチビュー(サブディレクトリあり)を有効にすることもできます。 ブランチビューは、フォルダーおよびサブフォルダー(再帰的に)からのファイルが一覧表示され、フォルダーは表示されない表示モードです。

  3. リスト内のすべてのファイルを選択し、ウィンドウの下部にある[コピー]ボタン(F5)をクリックします。 ファイルを移動するには、移動ボタン(F6)をクリックします。
  4. ターゲットディレクトリを選択し、[ 相対パス保持 ]をオフにして[ OK ]をクリックします。

それでおしまい。 これにより、ソースディレクトリツリー内のすべてのファイルがターゲットフォルダ(フラット化)にコピーまたは移動されます。

すべてのファイルが正常に移動されたことを確認する

重要: Windowsサーチでは、インデックスの問題やファイルに「一時」属性が設定されている場合など、場合によっては検索結果にすべてのファイルがリストされないことがあります。 そのため、これらのフォルダーをクリアする前に、ソースの場所にファイルが残っていないことを確認するのが賢明です。

関連: Windows SearchがGoogleドライブのファイルとフォルダーを見つけられない

これを確認するには、ソースの場所で親フォルダーを右クリック(またはすべてのサブフォルダーを選択して右クリック)し、[プロパティ]をクリックします。 コピーする代わりにアイテムを移動した場合、[プロパティ]タブには「 0ファイル 」と表示されます。 つまり、すべてのファイルが新しい場所に正常に移動されました。

または、宛先パスの[プロパティ]タブをチェックして、ファイル数が同じであることを確認できます( 上記のステップ6の画像にあるように、合計33ファイル )。

すべてのファイルが移動されたことを確認したら、古い場所のフォルダを削除できます。

この投稿では、カメラからインポートされた写真を取り上げていますが、すべてのファイルを複数のサブフォルダーから別のフォルダーに移動またはコピーする手順(別名「ディレクトリ構造のフラット化」)は、他のすべての状況で同じです。

関連記事