1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

CMDでフォルダ全体の領域と残り容量を知るダサい方法

Posted at

空き領域だけ

呼び方いろいろ

フォルダサイズだけ
というか
フォルダ容量
というか。
ディレクトリサイズ
というか。
ディレクトリ領域
というか。

空き容量(空き領域)だけ

例えば

Dir C:\%Userprofile%\

とすると

2023/06/30  00:09    <DIR>          .
2023/06/21  00:00    <DIR>          ..
------------------------
20XX/0X/XX  00:00    <DIR>          S
20XX/0X/XX  00:00    <DIR>          V
               0 個のファイル                   0 バイト
              XX 個のディレクトリ  XX,XXX,XXX,XXX バイトの空き領域

ということは、タイムスタンプを消すといいわけです。
タイムスタンプはコロンがあります。
コロンを含まなければいい。
D:\hogeに出力する。

@echo off
CD /D "C:\%USERPROFILE%"
dir  | find /v":" > D:\Hoge\PartitioSize.txt
@echo on

そうすると

               0 個のファイル                   0 バイト
              XX 個のディレクトリ  XX,XXX,XXX,XXX バイトの空き領域

ここだけ表示されます。

使用量を知る

今度はこれに/Sオプションを加えます。

dir /s | find /v":"
           ------------------
          (大量に出る)
          14 個のファイル             239,770 バイト
          (大量に出る)
        |
        |
           ------------------
           XXXXX 個のファイル     XXX,XXX,XXX,XXX バイト <-使用しているサイズ
           XXXXX 個のディレクトリ  XX,XXX,XXX,XXX バイトの空き領域

これはALT+ENterで表示されるプロパティの
サイズ
ディスク上のサイズ
とは一致しない。
ファイルなどの「サイズ」と「ディスク上のサイズ」の違いは?

@echo off
CD /D "C:\%USERPROFILE%"
dir /S | find /v":" > D:\Hoge\PartitioSize.txt
@echo on

しかし、こうすると存在するサブフォルダをカウントするため最後の2行だけが必要なのに、やたら長くなってしまう。
しかし、最後の2行だけ出力する方法が思いつかない。
なお、今回は数字だけなのでUTF-8で出す必要はない。
また、UTF-8で出すとファイルの容量が大きくなる。

ネットワークフォルダ

また、ネットワーク上のフォルダについて結果は取得できるときがあるが、エラーが表示される場合がある。
この時のネットワーク上のフォルダは S:\など割り当てられているかPushDで割り当てた場合にCDが有効となる。
CD /D "\\Server\name"
などという書き方はできない。

やっぱりバッチファイルはUTF-8だと動かない

今のテキストファイルはデフォルトがUTF-8になっている。(メモ帳も)
一度新規作成して、あとで文字コードをANSIに変える必要がある。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?