• ベストアンサー

大量の画像ファイルを50ずつに分けたい。

※PC初心者の為記載がおかしい箇所がありましたら申し訳ありません。 10000件の画像(jpg)ファイルが一括で入ったフォルダが1つあり、それを50件ずつのフォルダに分けたいのですが自動でできる方法等ありますでしょうか。フリーソフトなど探したのですが見つけることができませんでした。 フォルダ内は下記のように基本の画像に添付の画像が付いている場合があり、名前の付け方は統一されていますが添付の枚数にかかわらず一緒になっています。(枝番号_1が基本の画像で_2~が添付画像です。AAAの_1と_2は同じ組となります。) これを組ごと(例:AAAは_1と_2で1組)に50組ずつに分けたいのですが画像数が多く困っております。 AAA_1 AAA_2 BBB_1 CCC_1 CCC_2 CCC_3 CCC_4 DDD_1 DDD_2 何か良い方法をご存知の方、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#168404
noname#168404
回答No.6

No.5です。 他のところへも書いたので、こちらを思い出しましたが、 「Perl」でやられてみてはいかがでしょう。 Perlと言うと、webのCGIの代名詞のように言われていますが、実はこのような処理を得意とする言語です。 フリーで、Windows版もありますから、作ってしまえば後は他のものにも同様に適用できるでしょう。 また、明確な(厳密な)仕様がご呈示頂ければ、私がソースコードをこちらに掲載することもやぶさかではございません。

kuro69
質問者

お礼

お礼が遅くなり申し訳ありませんでした。 色々とご教授頂き大変助かりました。 なんとか解決することができました、有難う御座いました。

その他の回答 (5)

noname#168404
noname#168404
回答No.5

どうも、頭が悪くて済みません。 【補足要求】 ファイルを昇順にして50件(50ファイル)ずつと言うことでしょうか。 →はい、そうです。 この組の、1組は何になるのでしょうか。(と言うより説明上必要なもの?) →1組で1件としてそれを50件(組)ずつに分けたかったので記載致しました。2枚で1組の画像もありますが、3枚・4枚で1組の画像もあります。その場合枝番号前は同じ数字で名前が付いています。 ---------------------------------- 組と件は同じ単位なのでしょうか。 もし同じであるとするならば、説明上不要のような気がするのですが。 (つまり「ランダムな名称のファイルを50ファイルずつに分けるやり方」となると思うのですが、その他の条件があるのでしょうか) あらたに「枚」という単位が出てきましたが、単位が増えるほどにそれぞれの関係がわからなくなってきます。 お手数ですが、相互の単位(件,組,枚)の関係を書いてもらえないでしょうか。

kuro69
質問者

お礼

一番最新の回答にも記載させて頂きましたが何度も色々と回答頂き有難う御座いました。質問を頂いていたのに気づかず補足しないままで申し訳ありませんでした。 一応記載致しますと、ランダムな名称の画像が10000件入ったフォルダがあります。中身はjpgの画像で10000画像ありますが、2画像で1件となるもの、3画像で1件ととなるもの・・・10画像で1件となるものもあります。それを50件ずつに分けたいということでした。なので分けた先のフォルダ内のjpg画像数は50以上になる場合もあり、フォルダによってjpgの数は異なります。どの画像が2画像で1件なのか・・・10画像で1件なのかは画像名で判断するしかなくそこに手こずっていました。

noname#168404
noname#168404
回答No.4

【補足要求】 何度も済みません。 分けた後の50件入ったフォルダ内は、どのようなファイル名になっているのでしょうか? 1.(先頭11桁が同じもの) 12345678900_1 12345678900_2 ・ ・ 12345678900_50 2.(昇順のランダムなファイル名50件) 12345678900_1 12345678900_2 56789123412_1 56789123412_2 56789123412_3 ・ ・ ・ (あるいは、その他) 以上、よろしくお願いします。

kuro69
質問者

補足

とりあえず手動で分けたものは2の状態になっております。 宜しくお願いします。

noname#168404
noname#168404
回答No.3

【補足要求】 たぶん、1つのファイルのことを1件と言われているのだと思いますが、 > 10000件を50件ずつに分けたいです ファイルを昇順にして50件(50ファイル)ずつと言うことでしょうか。 > (例:AAAは_1と_2で1組)に50組 この組の、1組は何になるのでしょうか。(と言うより説明上必要なもの?) また、 > 10フォルダ位あります とりあえず、1フォルダができれば他のフォルダも同様にできるものなのでしょうか。 ------------- それはそれとして、 コマンドプロンプト(DOS窓)を立ち上げて > DIR *.* > FILENAME.TXT などと、ファイル名一覧を取り出し その(FILENAME.TXT)をエクセルに取り込んで、エクセルの行番号を元に50件ずつファイル移動されるようなバッチファイルを作られてはいかがでしょう。 (手間はかかりますが、コピーは比較的楽にできます)

kuro69
質問者

補足

ファイルを昇順にして50件(50ファイル)ずつと言うことでしょうか。 →はい、そうです。 この組の、1組は何になるのでしょうか。(と言うより説明上必要なもの?) →1組で1件としてそれを50件(組)ずつに分けたかったので記載致しました。2枚で1組の画像もありますが、3枚・4枚で1組の画像もあります。その場合枝番号前は同じ数字で名前が付いています。 とりあえず、1フォルダができれば他のフォルダも同様にできるものなのでしょうか。 →ファイル名は異なりますが同じ手順踏めば処理できると思います。 色々と有難う御座います、宜しくお願い致します。

  • meta-bow
  • ベストアンサー率53% (342/645)
回答No.2

 こんばんは。 本来はファイル名を連番で変更するソフトなんですが(下記リンク参照)、実は連番のフォルダを作ってもくださるソフトです。  ソフトを起動し、3つあるウインドウのうち左下で右クリックし、連番オブジェクト作成を選んでやると、前文字列+連番とか連番+後文字列などで一気に作れます。勿論作成数も設定可能です。  また使い方をアレンジすると、ファイル名でソートをかけて必要なファイルだけを変更対象(右下ウインドウへ移動)し「名前を変更することなく」任意のフォルダへ移動出来ちゃう凄いソフトです。  まあ本来の使い方を考えればピッタリなソフトだとは思いますが。 ちなみにソフト内でディレクトリとあるのがフォルダのことです。

参考URL:
http://hp.vector.co.jp/authors/VA004030/Soft/Frename.html
kuro69
質問者

お礼

お礼が遅くなり申し訳ありませんでした、教えて頂いたソフトで手動作業がかなり減り大変役に立ちました。有難う御座いました。

noname#168404
noname#168404
回答No.1

どこまで、適用できるかわかりませんが、バッチファイルを作ってやられてみてはいかがでしょう。 例: MOVE AAA*.JPG AAADIR MOVE BBB*.JPG BBBDIR     ・     ・ (AAADIR,BBBDIRがフォルダ名になります) これをメモ帳などで作り「JPGMV.BAT」(バッチファイル)などと拡張子を(.BAT)にします。 そして実行はダブルクリックでもいいですし、コマンドプロンプトから実行してもいいでしょう。 実際には、 MOVE C:\TMP\AAA*.JPG C:\TMP\AAADIR などと、完全パス名の方が間違いがないかも知れません。 また、フォルダはあらかじめ作っておく必要があります。 これもバッチファイルでやるといいでしょう。 MKDIR C:\TMP\AAADIR MKDIR C:\TMP\BBBDIR     ・     ・ 上記をメモ帳で作成し「JPGDIR.BAT」などのファイル名で保存します。 50種類ならば、これでなんとか対処できるのではないでしょうか。 また、もし何かの理由でファイル名1つ1つを指定して移動するような場合は(つまり10000件)Excelでうまく連番処理などしてバッチファイルを作るようにすればいいと思います。

kuro69
質問者

補足

丁寧な回答有難う御座います。 私の質問の書き方が悪く申し訳ないです、質問欄に書いたAAA、BBBの部分は一例で実際はランダムな数字(11桁)が振られています。 【例】 12345678900_1 12345678900_2 56789123412_1 56789123412_2 56789123412_3 ・ ・ ・ このフォルダに一緒になっている10000件を50件ずつに分けたいです。 また、同様のフォルダが10フォルダ位あります。(合計100000件)このような内容でも上記に記載頂いた方法でできますでしょうか。PCはエクセル程度しか使えないもので幼稚な質問だったらすみません。

関連するQ&A

  • ファイルの結合

    UNIX上で下記のようなfileA、fileBから fileA aaa,aaa,222 aaa,bbb,111 aaa,ccc,333 fileB aaa,aaa,111 aaa,bbb,222 aaa,ccc,333 aaa,ddd,999 下記のようなfileCを作ろうとしています。 fileC aaa,aaa,222 aaa,bbb,111 aaa,ccc,333 aaa,ddd,999 そこで、以下のように一列目と2列目をキーにして、sortすることにしました。 cat fileA fileB | sort -u -k1,2 -t, > fileC すると、fileCは下記のようになりました。(一行目の3列目が222ではなく、111になってしまいました) fileC aaa,aaa,111 aaa,bbb,222 aaa,ccc,333 aaa,ddd,999 キー項目以外はfileAを優先させたいのですが、なにか良い方法はないでしょうか?

  • フォルダ内の画像を、フォルダを開かずに別フォルダに移動したいのですが

    複数のフォルダ内に様々な拡張子の画像があります。 フォルダ名  JPG   GIF   BMP AAA    20個   100個   0個 BBB   120     10    2 CCC  2100      0   30 -------------------------------------------- DDD  2140個 これをDDDフォルダ内にJPGだけまとめたいのですが AAA開いてJPGだけを移動して、BBB開いて、、、、 したくなくて、一括処理でできるフリーソフト (あるいはWindows内のソフト)は あるでしょうか?

  • CSVに外部テキストファイルを列として追加する方法

    こんにちは。 CSVファイル(base.csv)の先頭列に、別のテキストファイル(add.txt)の中身を新規の列として挿入したいと考えているのですが、よい方法がわかりません。。。 どうのような方法を使えば対応することができるでしょうか? どうぞよろしくお願いいたします。 ■CSVファイル(master.csv) title,developer_name,seller_name,primary_genre_name,application_url AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE AAA,BBB,CCC,DDD,EEE ■テキストファイル(add.txt) id 000 111 222 333 ↓ ■目標としたファイル(master.csv) id,title,developer_name,seller_name,primary_genre_name,application_url 000,AAA,BBB,CCC,DDD,EEE 111,AAA,BBB,CCC,DDD,EEE 222,AAA,BBB,CCC,DDD,EEE 333,AAA,BBB,CCC,DDD,EEE

  • dosでサイズを比較して異なるファイルだけコピー

    dosで全フォルダ内のファイルサイズを比較して異なるファイルだけコピーしたい 次のようなファイル構成で AAAフィルダ    BBBフォルダ  cccフォルダ    cccフォルダ   abc.txt      abc.txt   def.jpg      def.jpg  dddフォルダ    dddフォルダ   ghi.txt      ghi.txt   jkl.jpg      jkl.jpg AAA\ccc\abc.txtとBBB\ccc\abc.txt AAA\ccc\def.jpgとBBB\ccc\def.jpg AAA\ddd\ghi.txtとBBB\ddd\ghi.txt AAA\ddd\jkl.jpgとBBB\ddd\jkl.jpg 拡張子は問わずそれぞれに対するファイルのファイルサイズを比較して 大きくても小さくても異なるファイルだけbbbフォルダ内に上書きコピー したくご教授をお願いします

  • EXCELで行の先頭データが同じ行の削除方法について

    EXCELで次のようなことをしたいのですがどうしたら簡単にできるでしょうか?  AAA   AAA  AAA  AAA  AAA  BBB  BBB  BBB  CCC  DDD  DDD  DDD  DDD 上ようのなデータで重複している部分を削除し、  AAA  BBB  CCC  DDD としたいのですが。 今は一行々々で確認しながら削除してます。3000行程あり困ってます。 どうしたら簡単にできるでしょうか?  

  • CSVファイルをAccessに取りこみたい

    以下のような2つのCSVファイルがあるとします。 【hoge1.csv】 aaa,bbb,ccc,ddd 1,2,3,4 【hoge2.csv】 aaa,bbb,ddd,eee,fff 1,2,4,5,6 Accessをあまり使用したことがないので教えていただきたいのですが、 hoge1.csv、hoge2.csvを、以下のような形で Accessの1つのテーブルにインポートする事はできるのでしょうか? ---------------------------- | aaa | bbb | ccc | ddd | eee | fff | | 1 | 2 | 3 | 4 |  |  | | 1 | 2 |  | 4 | 5 | 6 | ---------------------------- ※「aaa」「bbb」…をフィールド名としたいです vb等でプログラムを自作するしかないのでしょうか? 何か良い方法がありましたら教えてください。お願いします。

  • VB6.0 フォルダ配下(サブフォルダ含む)のファイルを全て読み込む方法

    環境 OS:WINDOWS 2000 PRO ソフト:VisualBasic 6.0 指定したフォルダ配下の全てのhtmlファイルを読み込む機能を作成したいと考えています。 C:\AAA\BBB\CCC\sample1.html C:\AAA\BBB\CCC\sample2.html C:\AAA\BBB\CCC\DDD\sample3.html C:\AAA\BBB\CCC\DDD\EEE\sample4.html C:\AAA\XXX\YYY\ZZZ\sample5.html 以上のような構造になっていた場合に、ルートフォルダとして『C:\AAA』を指定し、その配下全てのhtmlファイルを読み込み、1ファイルずつ加工したいと考えています。 何階層にも渡るファイルを全て読み込む方法がわかりません。 よろしくお願い致します。

  • エクセルでの計算方法をおしえてください

    えくせるで例えば、エクセルで黒字のAは1とし赤字のAは0.5として足し算する方法は無いでしょうか     AAA  AAA(赤字)     BBB  BBB     CCC  CCC     DDD  DDD 合計  4   3.5

  • Webサイトの階層化のしかたについて

    弱小企業でWebサイトの担当をしていますが、全くの独学なので基本的な事が分かっておりませんので宜しくお願いします。 先日セミナーに行ったところ、サイトをテーマ毎に階層化しなさいと説明をうけましたが、やり方がわかりません。 階層化にすると「http://AAA.com/BBB/CCC.html」となり、「/」で区切られてページ(アドレス)が表示される事ですよね。 現在は全て「http://AAA.com/BBB.html」、「http://AAA.com/CCC.html」と表示されています。 現在はhtmlファイルはメインのフォルダ内に全て入れていて、cssファイル、jsファイル、画像ファイルはメインフォルダの中にcssフォルダ、jsフォルダ、画像フォルダを作って入れています。 CCC.htmlファイルをどこに置けば良いのでしょうか。 メインフォルダの中に例えばBBBフォルダを作ってその中にCCC.htmlファイルを入れると言う事なんでしょうか。 そうするとBBB.htmlファイルを見るときは「http://AAA.com/BBB.html」になりますし、CCC.htmlファイルを表示するときは「http://AAA.com/BBB/CCC.html」になりますよね。 同様に「http://AAA.com/BBB/CCC/DDD.html」としたい場合は、BBBフォルダ内にCCCフォルダを作ってDDD.htmlファイルを入れておくという事なんでしょうか。 極基本的な質問ですが、ご回答宜しくお願い致します。

    • ベストアンサー
    • HTML
  • SQLについて

    aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 111 111 111 111 111 111 111 112 112 112 112 112 112 111 112 113 113 113 113 113 111 114 114 114 114 114 114 111 114 114 114 114 114 114 112 114 115 115 114 114 115 111 114 115 115 114 114 115 112 116 116 116 116 116 116 111 116 116 116 116 116 116 112 116 116 116 116 116 117 111 116 116 116 116 116 117 112 118 118 118 118 118 118 118 上記のようなデータより、SQLのSELECTを使用して、以下のように抽出したいです。 抽出条件は以下が全て満たしているものとなります。 ・aaa,ccc,ddd,eee,gggが重複、hhhが小さいもの ・bbbが異なるもの aaa bbb ccc ddd eee ggg hhh ---------------------------------------------- 112 112 112 112 112 112 111 ・・・(1) 112 113 113 113 113 113 111 ・・・(1) 114 114 114 114 114 114 111 ・・・(2) 114 115 114 114 114 115 111 ・・・(2) (1)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象 (2)はaaa,ccc,ddd,eee,gggが重複、bbbが異なるため抽出対象  また、hhhが小さいもの 以上、よろしくお願いします。