人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

●質問者: orekojinn
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● Z1000S
●500ポイント ベストアンサー

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で検索すれば、いろいろ出てくると思いますので、興味があれば調べてみて下さい。


Z1000Sさんのコメント
ちなみに、コピー先に同名のフォルダがある場合、確認メッセージを表示させるとか、特定の拡張子だけカウントするといった事も、もちろんできますよ。

orekojinnさんのコメント
ご回答ありがとうございます。 はぁ?・・・ 完璧です。 VBですね。何度か聞いたことがあります。 こんなこともできるのですね。 当問題は解決されました。 そして今後も多様な形で活かせそうです。 感謝いたします。 ありがとうございました。

Z1000Sさんのコメント
ベストアンサーありがとうございます。 お役に立てたようで良かったです。 VB(Visual Basic)ではなく、VBスクリプトですね。 バッチファイルより機能が豊富で、 それ程ハードルも高くない方だと思いますので いろいろ試してみていただければと思います。

orekojinnさんのコメント
VBスクリプトですね。 よく分からず。。。 この度はありがとうございました。
関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ