フォルダの場所のリストからすべてのファイルをコピーする

フォルダの場所のリストからすべてのファイルをコピーする

フォルダーの場所のリストがあり、そこからこれらの場所に含まれるすべてのファイルをコピーしたいと考えています。フォルダーの場所のリストは、テキスト ファイル (.txt) 内の別の行に保存されています。すべてのファイルを同じ場所にコピーする必要があります。

このフォルダーのリストとコマンドプロンプトのコピー機能を組み合わせて使用​​して、この演習を完了するにはどうすればよいですか?

答え1

次のようなディレクトリのリストを含む同様の内容のファイルを考えてみます。

c:
c:\users 
c:\anyotherfolder

xcopyループ内ではforうまくいきます :)

for /f %a in (list.txt) do xcopy /e %a\* c:\destination_folder\

(ディレクトリツリー全体をコピーすることによって( による/e) )


%別のファイルに保存して実行したい場合は、変数名にextra を追加する必要があります.bat

答え2

私は Elvins コードを採用し、それを少し改良して、フォルダーのパスと名前にスペースが含まれる問題を解決しました。

For Do コマンドはフォルダー パスのソースとして CSV ファイルを使用するようになったため、"delims=,"For コマンド内にオプションを含める必要がありました。

for /f "delims=," %a in (D:\Batch_Files\Test_Bench\Folders_List.csv) do copy "%a\*" D:\Batch_Files\Test_Bench\Paste_All_The_Files_Here

カンマで区切られたレコードにより、For /fスペースを含む場所にアクセスできるようになりましたが、トークンが%a\*" " で囲まれている場合に限られます。

関連情報