Windows で、多数の個別のサブディレクトリ/フォルダにある多数のファイルを 1 つのメイン ディレクトリ/フォルダに一括移動できますか?

Windows で、多数の個別のサブディレクトリ/フォルダにある多数のファイルを 1 つのメイン ディレクトリ/フォルダに一括移動できますか?

次のような場所に大量のファイルがあります:

C:/Users/(Username)/Desktop/(Parent-Collection name)/(filename1)/(filename1).ext

.../(filename2)/(filename2).ext

.../(filename3)/(filename3).ext

.extファイルを親フォルダーに一括移動しようとしているので、次のようになります。

C:/Users/(Username)/Desktop/(Parent-Collection name)/(filename1).ext

学校のバインダーから仕切りを取り除くのと同じように、サブフォルダーの必要性が本質的になくなります。

答え1

これをやらなければならないかもしれないシグウィンこれは、M$ Windoze スパイウェアを (まだ??) 実行している人にはお勧めです。

次のようなものが動作するはずです。これをディレクトリ内で実行しますC:/Users/(Username)/Desktop/(Parent-Collection name)/(cygwin では次のように参照されます) /cygdrive/c/Users/(Username)/Desktop/(Parent-Collection name)/)

for i in `find . -name "*" -type f`; 
    do mv $i `echo $i | sed 's/.*\/\([^/]*\)/\1/'`; 
done

(Parent-Collection name)これにより、下のすべてのディレクトリ内のすべてのファイルが に移動します(Parent-Collection name)。具体的には、これは現在のディレクトリから下のすべてのファイルをループするdoインデックス付きのループです。これがコマンドがリストするものです。 を実行すると、構文を調べることができます。次に、そのファイル ( ) を新しい場所に移動 ( ) します。新しい場所は、パスを削除してベース ファイル名を残すように設定されているストリーム エディタ ( 、これは で検索できます) で実行される元のファイル名 ( ) によって指定されます。ifindman findmv$iecho $isedman sed

テストしてみることをお勧めします (空のテキスト ファイルなどを含むサブディレクトリをいくつか含むディレクトリを作成します)。必ずバックアップを取ってください。

次に、現在のディレクトリの下にあるすべての(現在は空の)ディレクトリを削除します。

for i in `find . -name "*" -type d`; 
    do rmdir $i; 
done

ここで唯一異なるのは、ファイル ( ) ではなくfindディレクトリ ( ) を検索するように指示し、それらのディレクトリ ( 、これは空のディレクトリでのみ機能します) を削除することです。-type d-type frmdir

Linux ってクールじゃないですか? Cygwin は Linux のパワーの一部を提供し、Linux に慣れるための第一歩となり、いつか Ubuntu のようなものに移行できるかもしれません。:)

答え2

これは Powershell で実行できますが、使用している Windows のバージョンはわかりません。

$sourcefolder = "C:\Users\username\Desktop\ParentCollectionName"

$allfiles = Get-ChildItem -Recurse $sourcefolder | Where-Object {$_.PSIScontainer -eq $false}
ForEach ($file in $allfiles)
    {
        $destinationfolder = Split-Path -Parent $file.Directory.FullName
        Move-Item $file.FullName $destinationfolder
    }

サブディレクトリ内のすべてのファイルはフォルダ$sourcefolderに移動さ​​れますParrentCollectionName。その後、空のサブフォルダを削除できます。

ソース

関連情報