個人事業主の方必見!確定申告のお悩み解決

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

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

このQ&Aに関連する最新のQ&A

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に関連する人気のQ&A

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

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q複数のフォルダへ同時にファイルをコピーするには

LAN上で、40人分の個別フォルダを作成しています。
一つのファイルを、その40人分のフォルダへコピーする場合、一つずつ
コピーせずに、一括してする方法は無いのでしょうか。教えて下さい。

Aベストアンサー

Vectorでフリーのソフトがありますので利用してみてはいかがですか

参考URL:http://www.vector.co.jp/soft/win95/util/se188413.html

Qひとつのファイルを一括で複数のフォルダにコピーする方法はありませんか

A・B・Cと親フォルダの配下にならんでいるフォルダに、ひとつのファイルをA・B・Cのフォルダ全てにコピーしたいのですが、良い方法はないでしょうか。
Ctrlキーを押しながらフォルダを全て選択してコピーしてみましたが、一番上のフォルダにしかコピーされていませんでした。
よろしくお願いします。

Aベストアンサー

コピー先が固定的ならバッチでどうですか?

例えば↓
@echo off
if %1.==. goto err
xcopy %1 /S /V /F /H 【コピー先A】
xcopy %1 /S /V /F /H 【コピー先B】
xcopy %1 /S /V /F /H 【コピー先C】
goto end
:err
echo コピーするファイルを指定して下さい。
:end
pause



その都度コピー先を指定したいなら、こんなのとか
(コピー元一つに対して、最大3つまでコピーできるようにしてみました)
@echo off
if %1.==. goto err
if %2.==. goto err
echo コピー元ファイル/ディレクト:%1
echo コピー先1:%2
xcopy %1 /S /V /F /H %2
if %3.==. goto end
echo コピー先2:%3
xcopy %1 /S /V /F /H %3
if %4.==. goto end
echo コピー先3:%4
xcopy %1 /S /V /F /H %4
goto end
:err
echo 少なくともコピー元ファイルと、一つのコピー先を指定して下さい
:end
pause



ご参考に・・・

コピー先が固定的ならバッチでどうですか?

例えば↓
@echo off
if %1.==. goto err
xcopy %1 /S /V /F /H 【コピー先A】
xcopy %1 /S /V /F /H 【コピー先B】
xcopy %1 /S /V /F /H 【コピー先C】
goto end
:err
echo コピーするファイルを指定して下さい。
:end
pause



その都度コピー先を指定したいなら、こんなのとか
(コピー元一つに対して、最大3つまでコピーできるようにしてみました)
@echo off
if %1.==. goto err
if %2.==. goto err
echo コピー元ファイル/ディレクト:%1
ech...続きを読む

Q異なるファイルに入った複数のファイルを一括で特定のフォルダに移動する方法について

規則性のある複数フォルダに入ったhtmlファイルを特定のフォルダに移動させる方法を教えてください。「001」「002」「003」・・・のように規則性のある桁数のそろったフォルダ内にあるhtmlファイルを一つのフォルダに移動させたいのですが、数が多すぎて手動では移動できないため何か方法を教えてください。

Aベストアンサー

ファイル名の重複がないことが保証できるのであれば、moveコマンドで移すことが簡単ですかね。
----
for /D %A in (*) do move %A\*.html "移す先のディレクトリ"
----

試してないけど、単純に
----
move *\*.html "移す先のディレクトリ"
----
でもいけそうですな。

Q複数フォルダの中身だけを一度に取り出す方法は?

 こんにちは。質問はタイトルの通りです。デジカメのデータをパソコンに移動したときなど、複数のフォルダの中に目的のデータが分散してしまっていて、「フォルダでひとまとめになっている状態を解除したい」というときがあります。

 わかりにくいので例を挙げますと、フォルダAの下にフォルダ1、フォルダ2、フォルダ3…とある時、フォルダ1、2、…だけを「外して」、フォルダAの中にフォルダ1、2、…の中身が残るようにしたいのです。

 わかりにくい質問で申し訳ないのですが、方法をご存じの方はぜひ教えてください!

Aベストアンサー

ハイテク機器なのにローテクな方法でやる事になりますが
要は「フォルダA」の中にある子フォルダの中身を出したいと言うことですよね。
必要なフォルダーをすべて開き中のデータを必要な物すべて選択してD&Dで移動する。
(フリーソフト導入前も今でも必要ならばこの方法を使用しています)
後はフリーソフトを使う方法で移動元は1つしか指定できませんが簡単に移動できます。
(モノよっては移動元のデータを移動後に消去してくれる物があります 窓の杜等で探してください Fire File Copyはお勧めです)

Q特定のフォルダ内のある種類のファイルをすべてコピーし格納する方法

WINDOWSマシン使用。
あるフォルダ(AAA)の中に、複数のフォルダやファイルを含み、またそのフォルダは、
は、下位のフォルダやファイルを含むという関係が続きます。階層は4くらい。
この中の各所にあるフォルダにはwordのファイルやその他のファイルを含んで
います。
このwordのファイルだけをすべて選択しコピーして、別のフォルダ(BETU)へ
入れたい。
簡単に行なう方法、あるいはツールなどあれば紹介をお願いします。

Aベストアンサー

はじめまして。

コマンドプロンプトで
for /f "tokens=*" %i in ('dir /b /s AAA\*.doc') do copy "%i" "BETU"
を実行すれば4階層以上深くても可能です。

※"%i" "BETU"と"でくくるのは、ディレクトリ名に空白がある場合エラーとなるのを防ぐためです。

AAAもBETUもフルパスで記述すればコマンド実行ディレクトリは何処でも構いません。

Q大量のフォルダからひとつのフォルダにファイルをまとめたい!

いつもお世話になっております。

タイトルの通りなのですが、大量のフォルダの中身だけを、ひとつのフォルダにまとめる方法を探しています。
これまで手動でなんとかやってきたのですが、毎回500以上のフォルダを開いたり閉じたりを繰り返すのは、とても効率が悪いのです…。

何かいい方法やソフトはないでしょうか…?

Aベストアンサー

・エクスプローラの「検索」で該当するファイルを表示させておき、Ctrl+Aで全て選択
・目的のフォルダへドラッグ&ドロップ
※Ctrlおしながらでコピー。Shift押しながらで移動

でフォルダを開くことなくできますよ。

Q複数フォルダのファイルを1つのフォルダにする。

複数フォルダのファイルを、フォルダごとではなく、
ばらして1つのフォルダに簡単にまとめることができる方法や
ソフトはないでしょうか?
Macには、Split Folderというソフトが見つかりましたが、Winには 
自分で調べた限りではヒットしないので、お教え願いたいのです。

Aベストアンサー

下(Answer No.4)で紹介したソフトをお試しください。

参考URL:http://personal.okwave.jp/qa2556371.html

Q複数のフォルダに複数のファイルを一括コピー

複数のフォルダに対し、同時に複数のファイルを一括コピーしたいのですが、なにかよいソフトなどご存じないでしょうか?
例)
C:\ファイルA.txt
C:\ファイルB.txt
以上のファイルを

D:\テキストフォルダ(1)
D:\テキストフォルダ(2)
D:\テキストフォルダ(3)
  ・ 
  ・
へそれぞれ一括でコピーしたいのです。
Googleやベクターで探したのですが、探し方が悪いのか見つかりませんでした。

Aベストアンサー

ソフトでなくてもコマンドプロンプトのxcopyコマンドでbatファイルを作成してみてはいかがでしょうか。
batを叩くだけで、指定フォルダの指定ファイルを指定先へ一括コピーできます。(バックアップの概念ですね)

Qxcopyで特定のファイルのみをコピーする方法

xcopyもしくはcopyコマンドを使用し、ディレクトリ内の特定のファイル(複数)を
コピーするにはどのようにしたら良いのでしょうか?

特定のファイルの数が多すぎるため、一行ずつコマンドを書くのは手間が掛るため、
何か良い方法があれば教えて頂きたいと思います。

excludeオプションを使用すれば特定のファイルを除外できるようですが、
反対の意味の特定のファイルのみをコピーしたいです。

例)
c:\test内は以下のファイルがあります。
・aaa.txt
・bbb.txt
・ccc.txt
・ddd.txt
・eee.txt

これらのファイルの内、bbb.txtとddd.txtとeee.txtをコピーしたいです。

Aベストアンサー

よくこんな感じでやってました。
バッチ用コマンドですがバッチファイルを作らずコマンドラインで実行させます。
( コピー先フォルダを C:\distdir\ とします。)

コマンドラインでこれ
for %a in ( bbb.txt ddd.txt eee.txt ) do xcopy c:\test\%a c:\distdir
を実行させると、

カッコ ( ) の中からファイル名を1個拾っては %a に代入し do 以下を実行します、
つまり以下の3コマンドに展開し1個ずつ実行します。
xcopy c:\test\bbb.txt c:\distdir
xcopy c:\test\ddd.txt c:\distdir
xcopy c:\test\eee.txt c:\distdir

尚、この場合は拡張子がいずれも txt なので、以下のように書くと文字数を若干減らせます。
1コマンドラインの文字数は限りがあるので、ファイル数が多くて他の部分を縮めたい時に有用です。
for %a in ( bbb ddd eee ) do xcopy c:\test\%a.txt c:\distdir

ところで、文法を正確に記憶してなくて恐縮ですが、
Windows 配下のコマンドプロンプトが備えるコマンドでは、
予め対象のファイル名リストをテキストファイルで作っておき、
そこからファイル名を1個ずつ拾ってコマンド実行させる事が可能です。

よくこんな感じでやってました。
バッチ用コマンドですがバッチファイルを作らずコマンドラインで実行させます。
( コピー先フォルダを C:\distdir\ とします。)

コマンドラインでこれ
for %a in ( bbb.txt ddd.txt eee.txt ) do xcopy c:\test\%a c:\distdir
を実行させると、

カッコ ( ) の中からファイル名を1個拾っては %a に代入し do 以下を実行します、
つまり以下の3コマンドに展開し1個ずつ実行します。
xcopy c:\test\bbb.txt c:\distdir
xcopy c:\test\ddd.txt c:\distdir
xcopy c:\test\eee.txt ...続きを読む

Q複数の同じフォーマットのファイルを新しいブックで一つのシートにまとめる方法

仕事で、各部署から送られてきた、同じフォーマットのファイル(シート1にのみデータ有)が50個近くあります。
それを新しいブックで一つのシートにまとめなくてはいけません。
地道にコピペするのは時間がかかるのでマクロで処理を行いたいと思います。
マクロでの処理方法ご存知の方、処理方法の載っているサイトをご存知の方、もしくはマクロより簡単な方法がありましたら教えてください。

あと、逆に一つのシートをいくつかのファイルに振り分けていく方法もご存知でしたら教えて下さい。
よろしくお願いします。

Aベストアンサー

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCopyMode = False
Workbooks(buf).Close SaveChanges:=False
buf = Dir()
Loop
End Sub
で試してみてください。使い方などは
http://oshiete1.goo.ne.jp/qa4225063.html
を参照してみてください。同じ質問があったので気がつきました。

すみません。質問を勘違いしていました。
>新しいブックで一つのシートにまとめなくてはいけません
でしたね。
Sub Sample1()
Dim buf As String, i As Long
Dim j
buf = Dir(Sheets("Sheet1").Range("A1").Value & "\*.xls")
Do While buf <> ""
Workbooks.Open Worksheets("Sheet1").Range("A1").Value & "\" & buf
Sheets("Sheet1").Range("A1:J1000").Copy
ThisWorkbook.Activate
Range("A65536").End(xlUp).Offset(1, 0).Select
ActiveSheet.Paste
Workbooks(buf).Activate
Application.CutCop...続きを読む


人気Q&Aランキング