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
각 객체의 정보를 화면에 인쇄하지 않기 때문에 a보다 약간 빠릅니다 .
일반 명령 프롬프트에서 실행하려면
powershell -command "$totalsize=[long]0;gci -File -r -fo -ea Silent|%{$totalsize+=$_.Length};$totalsize"
DOS 또는 Windows 명령 행에는 이러한 명령이 내장되어 있지 않습니다. Linux에는 du
( D isk U sage) 명령이 있습니다.
Microsoft의 Sysinternals 툴 제품군에는 du
Linux 와 거의 동일한 툴이 있습니다. 라고도 du
합니다. ;)
du -sh <directory>
리눅스에서 (또는 git를 통해 Windows로 이동) 디렉토리 크기에 대한 사람이 읽을 수있는 요약을 보여줍니다.
diruse.exe
여기에있는 Windows 2000 Resource Kit 의 명령 행 유틸리티 를 계속 사용할 수 있습니다.
https://support.microsoft.com/en-us/kb/927229
문제없이 Windows 8.1에서 작동합니다.
이 질문에를 사용하여 파일 크기 분석이 필요하다는 것을 알고 CMD line
있습니다. 그러나 사용하기에 개방적이라면 PowerQuery (Excel add-in, versions 2010+)
매우 강력한 파일 크기 분석을 만들 수 있습니다.
아래 스크립트는 빈 쿼리에 붙여 넣을 수 있습니다. "paramRootFolderSearch"라는 매개 변수를 추가 한 다음 "C : \ Users \ bl0040 \ Dropbox \"와 같은 값을 추가하면됩니다. 나는 이것을 MSSQLTips : Power Query를 사용하여 파일 시스템에서 파일 크기를 검색합니다 .
이 쿼리는 피벗 테이블 ( [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)"
폴더 파일 크기 _xlsx.png
폴더 파일 크기 _xlsx2.png
Power Shell을 열기 만하면 du -sh <directory>
타사 또는 sys-internals를 설치할 필요가 없습니다. Power-shell 내에서 ls 또는 du 명령과 같은 명령과 같은 간단한 Linux를 실행할 수 ls -alt
있으며 powershell이 -alt가 무엇인지 알 수 없으므로 일부 스위치 는 오류 처럼 작동 하지 않습니다 ...
du
사용
"dir"명령은 현재 디렉토리의 파일 크기, 마지막 수정 날짜 및 시간을 제공합니다. 먼저 cd
명령 을 사용하여 크기를 보려는 디렉토리로 이동 한 다음 명령을 사용하십시오 dir
.
C:\>dir
현재있는 디렉토리에있는 모든 파일 및 디렉토리의 파일 크기, 마지막 수정 날짜 및 시간을 사전 순으로 나열합니다.