Windowsのコマンドラインからフォルダのサイズを確認する方法を教えてください
Windowsのコマンドラインを使って、フォルダとサブフォルダ内の全てのファイルのサイズを計算したいのですが、どのコマンドを使えばいいのでしょうか?通常はフォルダを右クリックして「プロパティ」をクリックして行うのですが、コマンドラインでできるようにしたいのですが
どのコマンドを使えばいいのでしょうか?
Windowsのコマンドラインを使って、フォルダとサブフォルダ内の全てのファイルのサイズを計算したいのですが、どのコマンドを使えばいいのでしょうか?通常はフォルダを右クリックして「プロパティ」をクリックして行うのですが、コマンドラインでできるようにしたいのですが
どのコマンドを使えばいいのでしょうか?
システムファイルや隠しファイルを含むすべてのファイルが含まれるように、dir /a/s
を使用したいと思うでしょう。これにより、あなたが望む合計サイズが得られます。
PowerShell が使えます!
$totalsize = [long]0
Get-ChildItem -File -Recurse -Force -ErrorAction SilentlyContinue | % {$totalsize += $_.Length}
$totalsize
これはカレントディレクトリ全体を再帰して(入力できないディレクトリは無視して)、各ファイルのサイズを合計します。
コンパクトなワンライナー:
$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize
私のマシンでは、各オブジェクトの情報を画面に表示しないので、これは dir /s /a
よりもわずかに速いように思えます。
~~DOSやWindowsのコマンドラインには、このようなコマンドはありません。 ~~Linuxでは、 du
( D isk U sage)コマンドがあります。( du
とも呼ばれています。) (https://technet.microsoft.com/en-us/sysinternals/bb896651.aspx) ; )
あなたはまだここで利用可能なWindows 2000リソースキットからコマンドラインユーティリティdiruse.exe
を使用することができます:
https://support.microsoft.com/en-us/kb/927229
それは何の問題もなくWindows 8.1上で動作します。
私はこの質問がCMD line
を使ったファイルサイズ分析を求めていることを理解しています。しかし、もしあなたがPowerQuery (Excel add-in, versions 2010+)
を使えるなら、かなり説得力のあるファイルサイズ分析ができます。
以下のスクリプトは、空白のクエリに貼り付けることができます。これを参考にしてみました。このクエリは、ピボットテーブル([Folder Root]> [Folder Parent (1-2)], [Name]
)を作成するためのデータを提供し、ディレクトリ内の多くのスペースをクリアして削除することができるいくつかのファイルを識別することができました。
PowerQueryのMスクリプトはこちら :
let
// Parmameters:
valueRootFolderSearch = paramRootFolderSearch,
lenRootFolderSearch = Text.Length(paramRootFolderSearch),
//
Source = Folder.Files(paramRootFolderSearch),
#"Removed Other Columns" = Table.RenameColumns(
Table.SelectColumns(Source,{"Name", "Folder Path", "Attributes"})
,{{"Folder Path", "Folder Path Full"}}),
#"Expanded Attributes" = Table.ExpandRecordColumn(#"Removed Other Columns", "Attributes", {"Content Type", "Kind", "Size"}, {"Content Type", "Kind", "Size"}),
#"fx_Size(KB)" = Table.AddColumn(#"Expanded Attributes", "Size(KB)", each [Size]/1024),
#"fx_Size(MB)" = Table.AddColumn(#"fx_Size(KB)", "Size(MB)", each [Size]/1048576),
#"fx_Size(GB)" = Table.AddColumn(#"fx_Size(MB)", "Size(GB)", each [Size]/1073741824),
fx_FolderRoot = Table.AddColumn(#"fx_Size(GB)", "Folder Root", each valueRootFolderSearch),
helper_LenFolderPathFull = Table.AddColumn(fx_FolderRoot, "LenFolderPathFull", each Text.Length([Folder Path Full])),
fx_FolderDepth = Table.AddColumn(helper_LenFolderPathFull, "Folder Depth", each Text.End([Folder Path Full], [LenFolderPathFull]-lenRootFolderSearch+1)),
#"helperList_ListFoldersDepth-Top2" = Table.AddColumn(fx_FolderDepth, "tmp_ListFoldersDepth", each List.Skip(
List.FirstN(
List.RemoveNulls(
Text.Split([Folder Depth],"\")
)
,3)
,1)),
#"ListFoldersDepth-Top2" = Table.TransformColumns(#"helperList_ListFoldersDepth-Top2",
{"tmp_ListFoldersDepth", each "\" & Text.Combine(List.Transform(_, Text.From), "\") & "\"
, type text}),
#"Select Needed Columns" = Table.SelectColumns(#"ListFoldersDepth-Top2",{"Name", "Folder Root", "Folder Depth", "tmp_ListFoldersDepth", "Content Type", "Kind", "Size", "Size(KB)", "Size(MB)", "Size(GB)"}),
#"rename_FoldersParent(1-2)" = Table.RenameColumns(#"Select Needed Columns",{{"tmp_ListFoldersDepth", "Folders Parent (1-2)"}})
in
#"rename_FoldersParent(1-2)"
フォルダファイルサイズ_xlsxx.png
フォルダファイルサイズ_xlsx2.png
Microsoftは、CSVレポートを作成するDisk Usage
というツールを提供しています。
Du (disk usage)は、指定したディレクトリのディスク容量の使用状況をレポートします。デフォルトでは、それはディレクトリとそのサブディレクトリの合計サイズを表示するためにディレクトリを再循環させます。[-l | -n | -v] [-u] [-q] パラメータの説明
-c Print output as CSV. Use -ct for tab delimiting.
-l Specify subdirectory depth of information (default is all levels).
-n Do not recurse.
-v Show size (in KB) of intermediate directories.
-u Count each instance of a hardlinked file.
-q Quiet (no banner).
&001
Path, CurrentFileCount, CurrentFileSize, FileCount, DirectoryCount, DirectorySize
ここに現在の公式リンクがあります。