Get Folder Size from Windows Command Line

前端 未结 17 2378
滥情空心
滥情空心 2020-11-28 18:52

Is it possible in Windows to get a folder\'s size from the command line without using any 3rd party tool?

I want the same result as you would get when right clicking

17条回答
  •  栀梦
    栀梦 (楼主)
    2020-11-28 19:40

    So here is a solution for both your requests in the manner you originally asked for. It will give human readability filesize without the filesize limits everyone is experiencing. Compatible with Win Vista or newer. XP only available if Robocopy is installed. Just drop a folder on this batch file or use the better method mentioned below.

    @echo off
    setlocal enabledelayedexpansion
    set "vSearch=Files :"
    
    For %%i in (%*) do (
        set "vSearch=Files :"
        For /l %%M in (1,1,2) do ( 
            for /f "usebackq tokens=3,4 delims= " %%A in (`Robocopy "%%i" "%%i" /E /L /NP /NDL /NFL ^| find "!vSearch!"`) do (
                if /i "%%M"=="1" (
                    set "filecount=%%A"
                    set "vSearch=Bytes :"
                ) else (
                    set "foldersize=%%A%%B"
                )
            )
        )
        echo Folder: %%~nxi FileCount: !filecount! Foldersize: !foldersize!
        REM remove the word "REM" from line below to output to txt file
        REM echo Folder: %%~nxi FileCount: !filecount! Foldersize: !foldersize!>>Folder_FileCountandSize.txt
    )
    pause
    

    To be able to use this batch file conveniently put it in your SendTo folder. This will allow you to right click a folder or selection of folders, click on the SendTo option, and then select this batch file.

    To find the SendTo folder on your computer simplest way is to open up cmd then copy in this line as is.

    explorer C:\Users\%username%\AppData\Roaming\Microsoft\Windows\SendTo
    
    

提交回复
热议问题