- 締切済み
複数フォルダ内のファイルを一括コピーする方法
環境はWindows7です。 下記構成のファイルを一括で特定のフォルダにコピーする方法を探しています。 C\aaa\111.txt C\aaa\112.txt ・・・ C\bbb\121.txt C\ccc\33.txt ------------------ ⇒C\ddd 配下へコピーしたい 方法(1):F3で「.txt」で検索してヒットしたものを一括でコピーする。 方法(2):.batファイルを使ってやる。 方法(2)について、下記のように書いてみました。 REM 複数フォルダーの不特定多数のファイルを特定フォルダーにコピーする pause cd %~dp0 dir /b No* >list.txt for /F %%i in ( list.txt ) do copy /y %%i\*.txt 特定フォルダー pause カレントディレクトリにある複数フォルダ名をlist.txtに出力し、 それをまた読み込んでforを使って特定フォルダーにコピーする。 これだと同名のファイルがあった場合でも問答無用でどんどん上書きされてしまいます。 「コピーするが両方のファイルを保持する」状態にしたいんですが、 何か方法はないでしょうか・・・?
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- Tacosan
- ベストアンサー率23% (3656/15482)
回答No.1
「同名のファイルがあった場合でも問答無用でどんどん上書きされてしまいます」とはどういうことでしょうか? そして, 「コピーするが両方のファイルを保持する」というのは具体的にはどうしたいんでしょうか?
補足
ご回答ありがとうございます。 >「同名のファイルがあった場合でも問答無用でどんどん上書きされてしまいます」とはどういうことでしょうか? C\フォルダaaa\111.txt ・・・(1) C\フォルダbbb\111.txt ・・・(2) C\ddd ・・・(3) (1)と(2)を、(3)配下にコピーする場合、(1)を(2)で上書いてしまいます。 >「コピーするが両方のファイルを保持する」というのは具体的にはどうしたいんでしょうか? (1)を111.txt、(2)を111 (2).txtのようにしたいです。 上の例だと↓みたいに書いているのが現状です・・・。 ------------------- REM 複数フォルダーの不特定多数のファイルを特定フォルダーにコピーする pause cd %~dp0 dir /b フォルダ* >list.txt for /F %%i in ( list.txt ) do copy /y %%i\*.txt ddd pause