dポイントプレゼントキャンペーン実施中!

環境は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を使って特定フォルダーにコピーする。

これだと同名のファイルがあった場合でも問答無用でどんどん上書きされてしまいます。
「コピーするが両方のファイルを保持する」状態にしたいんですが、
何か方法はないでしょうか・・・?

A 回答 (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

補足日時:2013/01/19 00:28
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!