こんにちは、今回の記事はWHEREコマンドのファイルサイズがマイナスの意味についてまとめていきたいと思います。
とある日、Windowsのコマンドプロンプトにて、WHEREコマンドでファイルサイズを一覧で出していたところその中に、ファイルサイズがマイナス「-」のものがありました。
と思ったので、調べてみました。それでは、いってみましょう!
事象詳細:ファイルサイズがマイナスに
WHEREコマンドで、ファイルサイズと更新日時を表示する「/T」オプションを使い、test.zipという3.84GBコマンド実行結果が以下のようになりました。
一番左にファイルサイズが表示されるのですが、マイナス値になっています。
ファイルサイズが2GB以上はマイナス値になる
ファイルサイズがマイナス値になるファイルというのは、ファイルサイズが2GB以上あるファイルでした。
WHEREコマンドのファイルサイズの表示単位はByteですが、2GBを超えたとたんマイナス値になります。イメージは以下です。
2GB=2147483648Byteなのですが、2GBから1Byte増えると「-2147483647」となります。2GBを超えて「-2147483647」より1Byte増え、4GBになると0になるようです。
例で計算してみる
冒頭WHEREコマンドで表示したファイルは、ファイルサイズが4,129,473,852Byteです。
2GBからマイナスになっていくので、2147483648Byte + (2147483648 - 165493444) = 4129473852 という式で実証できました。
ですが、2GBごとに数値の表示方法が折り返しになってしまうので、正確な値は分からないという訳です。
さいごに
いかがだったでしょうか。同じような疑問を持たれた方の参考になれば幸いです。
WHEREコマンドは気軽に使えて便利なのですが、ファイルサイズが2GBを超えるとパッと見わからない&正確に把握できないということも今回分かりました。
それでは、また次の記事でお会いしましょう!