- 締切済み
binaryとasciiファイルの判別方法
ある対象ファイル(約1000個)をDOSコマンド or プログラムを使用して、その データがbinary形式かテキスト形式か判別できるようなものはありますでしょ うか? メモ帳などを開いて確認すればよいのですが、対象ファイルが多すぎて話しに なりません。また、拡張子で判別もできません(全ファイル同じ拡張子のため) UNIXにftpで転送して、fileコマンドで判別してしまえば、簡単だとは思います が、NT側で処理できないものでしょうか? UNIXでfileコマンドで判別できる ということは、どこかに判別してきるキーのようなものがある気もするんです が。。。まだ勉強不足の私に教えてください、宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- terra5
- ベストアンサー率34% (574/1662)
>ASCIIファイルの末尾は「EOF(1A)」ですね。 これは一般的には無いと考えた方がいいと思います。 本来は確かCP/M時代の仕様です。 ファイルサイズの情報が無かったために,明示的にエンドマークであるEOFを入れる必要があったためだったと聞いた覚えがあります。 MS-DOS時代でも、つけるタイプの物と、つけないタイプの物が存在しました。
- terra5
- ベストアンサー率34% (574/1662)
fileは確か・・・/etc/magic あたりにパターン定義してある ファイルがあって、特定の種類のファイルはそれで ヘッダ判別みたいなことをしていたと思います。 テキストファイルかどうかは、例えば512byte読み込んで, 中身に可読な文字や改行、タブ等以外のコードが含まれていれば binary って判定だったかも知れません。 実際に何をしているかは,LinuxでもFreeBSDでもでfileのソースコードを見るのが早いでしょう(^^; また、cygwinっていうWin32上で動作するunix環境がありますが、fileは入っていませんでしたが, 多分 fileのソースを持ってきてコンパイルすれば、 使えるんじゃないかと思います。
- bin-chan
- ベストアンサー率33% (1403/4213)
ASCIIファイルの末尾は「EOF(1A)」ですね。 バッチファイルを作って、TYPEして、その結果を別フォルダにでもリダイレクトして、FCで比較してみるとか。
お礼
ありがとうございました、参考にさせていただきます。今回の場合、1回限りの ファイルの判別作業となりますので、cygwinをセットアップしないで運用で カバーしてみたいと思います。