[解決済み] Windowsのコマンドラインからフォルダサイズを取得する
2022-04-26 02:23:50
質問
Windowsでは、サードパーティツールを使用せずに、コマンドラインからフォルダのサイズを取得することは可能でしょうか?
Windowsエクスプローラでフォルダを右クリック→プロパティで表示されるのと同じ結果が欲しいのですが。
解決方法は?
再帰的にサイズを加算していけばよいのです(以下はバッチファイルです)。
@echo off
set size=0
for /r %%x in (folder\*) do set /a size+=%%~zx
echo %size% Bytes
しかし、これにはいくつかの問題があります。
cmd
は32ビット符号付き整数演算に制限されています。そのため、2GiB以上のサイズを取得することはできません。
1
. さらに、シンボリックリンクやジャンクションを複数回カウントする可能性があるので、せいぜい上限値であって、本当のサイズではありません(どんなツールでもこの問題はありますけどね)。
代替案として、PowerShellがあります。
Get-ChildItem -Recurse | Measure-Object -Sum Length
またはもっと短くします。
ls -r | measure -sum Length
もっと可愛くしたい場合
switch((ls -r|measure -sum Length).Sum) {
{$_ -gt 1GB} {
'{0:0.0} GiB' -f ($_/1GB)
break
}
{$_ -gt 1MB} {
'{0:0.0} MiB' -f ($_/1MB)
break
}
{$_ -gt 1KB} {
'{0:0.0} KiB' -f ($_/1KB)
break
}
default { "$_ bytes" }
}
から直接使用することができます。
cmd
:
powershell -noprofile -command "ls -r|measure -sum Length"
1 少なくとも任意精度の整数の加算を正しく行う、部分的に完成したbignumライブラリがバッチファイルとしてどこかに保存されています。私はそれを本当にリリースすべきだと思います :-)
関連
-
[解決済み] npm' は内部または外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されません。
-
[解決済み] scpを使ってリモートからローカルにフォルダをコピーするにはどうしたらいいですか?
-
[解決済み] MySQLでコマンドラインを使用してSQLファイルをインポートするにはどうすればよいですか?
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] Bashでコマンドライン引数を解析するには?
-
[解決済み] Bashでコマンドの出力に変数を設定するにはどうすればよいですか?
-
[解決済み] MySQLでコマンドラインを使用してユーザーアカウントのリストを取得するにはどうすればよいですか?
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] Windowsのコマンドラインからアプリケーションの終了コードを取得するにはどうすればよいですか?
-
[解決済み] Windowsのコマンドライン環境を使って、ファイル内のテキストを検索・置換するにはどうすればよいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] CreateProcess でエラー 193 (%1 は有効な Win32 アプリではありません) が発生する理由
-
[解決済み] .batファイルのアイコンをプログラムで変更するには?
-
[解決済み] 0|%0とは何ですか、どのように機能しますか?
-
[解決済み] Sudoが見つかりません。npm install を試しています。
-
[解決済み] Windowsでフォルダへのアクセスを回復する方法
-
[解決済み] Autohotkey Controlsendコマンドを理解する
-
Windowsはプリンタに接続できません、操作は失敗しました、エラー0x0000011b、解決策の1つです。
-
[解決済み] Ahkファイルから.exeを生成すると、Heur.AdvML.Bが表示される。
-
[解決済み] git cloneです。<URL> の認証に失敗しました。
-
[解決済み] Windows PowerShellの環境変数を設定する