1つのフォルダに複数のファイルがあり、それはテキストファイルと、バイナリファイルです。

これをテキストとバイナリに自動で振り分ける方法はないでしょうか。
サイボウズのメールデータなのですがEメールはテキスト、社内メールはバイナリで保管してるらしくそのままだとインポートプログラムが使えません。よろしくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2008/07/28 16:15:18
  • 終了:2008/08/04 16:20:02

回答(3件)

id:ahirusan No.1

あひる回答回数229ベストアンサー獲得回数32008/07/29 00:11:03

ポイント35pt

UNIX上に持って行って、fileコマンドと適当なシェルを使えば振り分けができるかと思います。残念ながらCygwinにはfileコマンドはありません。

以下のURLはあまり参考になるものではありません。ごめんなさい。

http://ksd.ms.u-tokyo.ac.jp/pubwiki/ks2008Ipub/?file%A5%B3%A5%DE...

id:Sprint

サーバー上で処理すればいいんですね・・・。

十分役に立つ情報です・・・。

2008/07/29 00:43:05
id:dimbla No.2

でぃんぶら回答回数6ベストアンサー獲得回数02008/07/28 23:58:11

ポイント35pt

テキストファイルが拡張子.txtであると仮定します。コマンドラインから処理してしまってはどうでしょうか?

以下は、XP環境でcmd.exeを使った場合のサンプルです(WindowsであればOSが違っても問題ないです)

mkdir tmp

move *.txt tmp

move tmp ..

異なる拡張子が混じっているようなら逐次追加すればいいですし、そのままバッチファイルにして投げても構いません。

ヘッダ情報からテキストかどうかを判別したいとなると話は変わってくるのですが・・・

URLはダミーです。

http://www.google.co.jp/

id:Sprint

拡張子ないんすよ・・・

2008/07/29 00:42:19
id:dimbla No.3

でぃんぶら回答回数6ベストアンサー獲得回数02008/07/29 01:11:05

ポイント10pt

追加での回答になりますが、でしたら事前に拡張子を付けるのはいかがですか?

極-NTSOFT-55555

http://www.55555.to/

こちらにある、「極窓」のような拡張子判別ソフトで一括処理してからバッチ処理・・・とか。


なお、文字コードがUnicodeだとちょっと怪しいかも知れません。手元の環境では判別できませんでした。

この問題は、FILEコマンドでも起こりそうな様子(FILEは日本語の取り扱いが若干怪しい)ので、

ある程度手作業で確認してみることをお薦めします。

  • id:Sprint
    アドバイスありがとうございました。
    どうもWindows上でやるのは現実的でないので
    Linux上で簡単なスクリプトを書いてgrepで特定の単語があるかないかで振り分けることにしました。
    たぶん、一番現実的な方法だとおもわれます・・・。

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

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

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

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません