• 締切済み

binaryとasciiファイルの判別方法

ある対象ファイル(約1000個)をDOSコマンド or プログラムを使用して、その データがbinary形式かテキスト形式か判別できるようなものはありますでしょ うか?  メモ帳などを開いて確認すればよいのですが、対象ファイルが多すぎて話しに なりません。また、拡張子で判別もできません(全ファイル同じ拡張子のため) UNIXにftpで転送して、fileコマンドで判別してしまえば、簡単だとは思います が、NT側で処理できないものでしょうか? UNIXでfileコマンドで判別できる ということは、どこかに判別してきるキーのようなものがある気もするんです が。。。まだ勉強不足の私に教えてください、宜しくお願い致します。

みんなの回答

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.3

>ASCIIファイルの末尾は「EOF(1A)」ですね。 これは一般的には無いと考えた方がいいと思います。 本来は確かCP/M時代の仕様です。 ファイルサイズの情報が無かったために,明示的にエンドマークであるEOFを入れる必要があったためだったと聞いた覚えがあります。 MS-DOS時代でも、つけるタイプの物と、つけないタイプの物が存在しました。

  • terra5
  • ベストアンサー率34% (574/1662)
回答No.2

fileは確か・・・/etc/magic あたりにパターン定義してある ファイルがあって、特定の種類のファイルはそれで ヘッダ判別みたいなことをしていたと思います。 テキストファイルかどうかは、例えば512byte読み込んで, 中身に可読な文字や改行、タブ等以外のコードが含まれていれば binary って判定だったかも知れません。 実際に何をしているかは,LinuxでもFreeBSDでもでfileのソースコードを見るのが早いでしょう(^^; また、cygwinっていうWin32上で動作するunix環境がありますが、fileは入っていませんでしたが, 多分 fileのソースを持ってきてコンパイルすれば、 使えるんじゃないかと思います。

Salsa_de_Salsa
質問者

お礼

ありがとうございました、参考にさせていただきます。今回の場合、1回限りの ファイルの判別作業となりますので、cygwinをセットアップしないで運用で カバーしてみたいと思います。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

ASCIIファイルの末尾は「EOF(1A)」ですね。 バッチファイルを作って、TYPEして、その結果を別フォルダにでもリダイレクトして、FCで比較してみるとか。

関連するQ&A