質問: 指定条件フォルダの自動コピーをしたいです。 フォルダ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にコピーできれば最高ですが なにかマクロか、ソフトか簡易のプログラムのようなものを動作させることにより判別、コピーをするというものでも十分です。 どういうやり方ができそうか、見当がつかないためお知恵を貸していただければありがたいです。 どうぞよろしくお願いいたします。
回答: 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で検索すれば、いろいろ出てくると思いますので、興味があれば調べてみて下さい。