アプリ版:「スタンプのみでお礼する」機能のリリースについて

Windows98SEのDOSプロンプトで

DIRの表示で、ファィル容量(Byte)の書式を3桁区切りのない

表示にする方法を教えてください。

例 ABCDEFGH.TXT 123,456,789 02-08-09 10:15 このレイアウトを

  ABCDEFGH.TXT 123456789 02-08-09 10:15 にしたい。

A 回答 (4件)

LOFという関数は使えませんか?


私はほとんど使ったことが無いので細かいことは忘れてしまいましたが、これでファイルの長さが取得できたはずです。

使い方は
 LOF(ファイル番号)
です。
関数ですので、適当な変数に代入するよう形にしてください。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2002/08/09 23:47

>ところで、フィルタープログラムのことまったく何のことかわかりません。


>お時間の許す限り教えてください。
標準入力から読みこみ、読み込んだデータを加工して、その結果を標準出力に出力するプログラムです。
アイデア次第で汎用的で便利な機能が作れます。
例えば、特定の文字をカットするとか、大文字に変換するとか、並べ替えをするとか、特定の文字列が含まれる行だけを出力するとかです。

DOSでは、 dir | sort とやると行が並べ替えて出力されるのがあると思います。

>一旦DOSコマンドレベルでDIRをファイルにフィルタし、
>そのファイルをOPENして判断しています。
ファイル化して読み出すのであれば、そのBASICプログラムで、対応できるのではないでしょうか?
1行読みこんだ後で、","が含まれていればそれを取り除く処理をしてやればいいと思います。
もっと具体的に言えば、文字列を1文字ずつ取り出して、それが","出なければ、別の文字列にアペンドしていくという感じですね。
コードは、自分で考えてください。

この回答への補足

>ファイル化して読み出すのであれば、そのBASICプログラムで、対応できる・・・

WindowsXPのDIR表示とWindows98SEのDIR表示とは
レイアウトが違います。

XPは13バイト目から10バイト分、98は13バイト目から14バイト分
がファイル容量として表示されています。

ネットワークでプログラムを共通に使っているので、IF文でOSのVersionを判断して切り分けするのも面倒なため、なにか良い方法があればと思い
投稿しました。
色々ご親切にご回答ありがとうございました。

補足日時:2002/08/09 12:39
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。

お礼日時:2002/08/09 23:47

まず、DOSプロンプトにはそのような機能はありません。



それから、#1での補足を見て思った事を書きます。ただし、私はBASICを使った経験がないので、一般的なプログラミングの話になります。

(1) プログラムの中で保存したファイルの容量を把握したいということですが、保存時にデータのサイズをチェックしておくことはできないのでしょうか。

(2) DIRの結果を処理する時点で","を取り除くプログラムは作成できないのでしょうか。(MovingWalkさんの言っているフィルタープログラムです。)

(3) DOSのコマンドを使用しないでファイルサイズをチェックすることはできないのでしょうか? 極端な方法ですが、ファイルのデータを全て読み込んでサイズを調べれば、ファイルサイズはわかるかと思います。(もっと良い方法があるかもしれませんが、BASICはよくわからないので...)
    • good
    • 0
この回答へのお礼

ファイルサイズのチェックはいろいろ考えられますが
私の質問の内容がなんとかできないものか(たとえば
DIRのレイアウト設定があるとか・・)意地になっ
ています。

色々ご親切にご回答ありがとうございました

お礼日時:2002/08/09 23:45

そのような機能はありませんが、そもそも理由は何でしょうか?



どうしてもやりたければフィルタープログラムを作ればできます。
(DIRの標準出力を取り込んで、容量の","を取り除くプログラムです。比較的簡単に作れます)
あるいは、一旦ファイルの落としてからエディタで編集すれば可能ですが。

この回答への補足

そもそもの理由は・・・・
BASICインタープリターでプログラムを作っています。
プログラムの中で、保存したファイルの容量を把握したい時、
一旦DOSコマンドレベルでDIRをファイルにフィルタし、
そのファイルをOPENして判断しています。
このとき、Windows95やXPでは読み込んだ文字列の
13バイト目から10文字分を取得すればファイルの容量となります。
しかし、Windows98SEでは13バイト目から14文字分となり
OSによってプログラムを書き換えないといけないからです。

ところで、フィルタープログラムのことまったく何のことか
わかりません。お時間の許す限り教えてください。

補足日時:2002/08/08 21:56
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!