指定条件フォルダの自動コピーをしたいです。


フォルダAの下に多数のフォルダA-1,A-2,A-3等を作り、それらの中に10枚前後の画像ファイルを入れます。
このフォルダ群の中で10枚以上の画像ファイルが入っているフォルダを
フォルダBに自動でコピーするという事をしたいのですが、何か良い方法はないでしょうか。

例えばフォルダAの下のフォルダA-1には画像ファイルが8枚,A-2には12枚,A-3には7枚の場合に
フォルダBにフォルダA-2とその中身をコピーしたいのです。
自動と書きましたが、フォルダAに入れただけで、その都度条件に合うかを判別しフォルダBにコピーできれば最高ですが
なにかマクロか、ソフトか簡易のプログラムのようなものを動作させることにより判別、コピーをするというものでも十分です。
どういうやり方ができそうか、見当がつかないためお知恵を貸していただければありがたいです。
どうぞよろしくお願いいたします。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2018/05/12 11:50:43
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:Z1000S No.1

回答回数39ベストアンサー獲得回数27

ポイント500pt

OSが何か書かれていませんね。
以下は、OSがWindowsであることを前提にしています。

画像ファイル限定ではありませんが
何らかのファイルが10個以上あるフォルダをコピーして良いのであれば、
下記の内容をテキストエディタ(メモ帳でもOK)にコピペして保存して下さい。
ファイル名は、ご自分でわかりやすいものでOK。
保存したら、拡張子を"vbs"に変更して、
実行(ダブルクリック)してみて下さい。

コピー先に同名のフォルダがある場合、確認メッセージなしで上書きされます。

    sSrcPath = "C:\フォルダA"
    sDestPath = "C:\フォルダB"

    Set fso = CreateObject("Scripting.FileSystemObject")
    'コピー元のフォルダを取得
    Set f = fso.GetFolder(sSrcPath)
    'サブフォルダ群を取得
    Set fcs = f.SubFolders

    'サブフォルダを個別に処理
    For Each fc In fcs
        If fc.Files.Count >= 10 Then
            'ファイル数が10以上なら、フォルダをコピー
            fso.CopyFolder fc.Path, sDestPath & "\" & fc.Name
        End If
    Next

    MsgBox "終了",vbOkOnly + vbInformation, "コピー"

VBScript,FileSystemObjectで検索すれば、いろいろ出てくると思いますので、興味があれば調べてみて下さい。

他2件のコメントを見る
id:Z1000S

ベストアンサーありがとうございます。
お役に立てたようで良かったです。

VB(Visual Basic)ではなく、VBスクリプトですね。
バッチファイルより機能が豊富で、
それ程ハードルも高くない方だと思いますので
いろいろ試してみていただければと思います。

2018/05/12 20:55:04
id:orekojinn

VBスクリプトですね。
よく分からず。。。
この度はありがとうございました。

2018/05/12 20:59:01

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません