求批處理統計文件夾內的全部文件的數量和總大小

我最近電腦不知道爲何磁盤空間會慢慢的變小,並且過一段時間以後,又會有兩三GB的空間被釋放出來,使用我想監控下,看看是那個文件夾下產生的文件來佔用個人存儲空間,我想按層監視,最終找出緣由。html

從網上找個命令行顯示指定文件夾目錄的大小的批處理程序,可是發現並不太盡人意,總感受不是很適合個人使用;spa

第一個程序,能夠顯示某個文件夾下的文件大小,可是我想按層顯示,卻不能知足個人要求,程序以下:.net

@echo off
echo.
set /p dirPath=please input folder path:
set /a s=1024*1024*1024
for /f "tokens=3 delims= " %%i in ('dir /s /a /-c "%dirPath%" ^|findstr 個文件') do (set z=%%i)
echo.
echo 文件夾:%dirPath%
set d=bit
if %z% gtr 1024 set /a "z>>=10"&set d=KB
if %z% gtr 1024 set /a "z>>=10"&set d=MB
if %z% gtr 1024 set /a "z>>=10"&set d=GB

echo 的總大小是:%z% %d%&echo.
if %z% LSS %s% echo 該文件夾內容小於1G
pause>nul

第二個程序的,能夠顯示當前文件夾下的層級目錄,但沒有循環每一次下文件夾的大小,程序以下:命令行

@echo off
setlocal enabledelayedexpansion
(for /d %%a in (C:\KuGou\*) do (
    set/a n=z=0
    pushd "%%a"
    for %%b in (*.*.) do (
        set/a n+=1,z+=%%~zb
    )
    set/a "z>>=20"
    popd
    echo;%%a [!n!個!z!M]
))>統計結果.txt
pause

經過上面的兩個程序,我整合了一下,打算合成一個程序,應該就和我須要的程序差很少了,說幹就幹,下面看看個人程序:code

@echo off
setlocal enabledelayedexpansion
echo.
set /p dirPath=please input folder path:
echo %dirPath%
echo.
for /d %%a in (%dirPath%\*) do (
    set/a zz=0
    for /f "tokens=3 delims= " %%t in ('dir /s /a /-c "%%a" ^|findstr 個文件') do (
    set zz=%%t
    )    
set d=bit
if !zz! GEQ 1024 set /a "z1=!zz!>>10"&set d=KB
if !z1! GEQ 1024 set /a "z2=!z1!>>10"&set d=KB
if !z2! GEQ 1024 set /a "z3=!z2!>>10"&set d=KB
echo 文件夾:%%a ,大小是:!z3!GB = !z2!MB = !z1!!d!
)
for /f "tokens=1-4 delims= " %%i in ('dir /a /-c %dirPath% ^|findstr 個文件') do (
    set/a ss=%%k
    set/a ss>>=10,d=bit
    
    if !ss! GEQ 1024 set /a "s1=!ss!>>10"&set d=KB
    if !s1! GEQ 1024 set /a "s2=!s1!>>10"&set d=KB
    if !s2! GEQ 1024 set /a "s3=!s2!>>10"&set d=KB
    echo 在"%dirPath%"根目錄下有 %%i %%j ,總共大小爲:!s3!GB = !s2!MB = !s1!!d!
    )

pause

程序也很少解釋,你們一看就明白,只是把別人的東西組合在一塊兒,調用方法:htm

一:雙擊執行,根據提示輸入您須要建設的文件夾路徑。blog

二:開始--運行--cmd,而後找到存放bat文件的地方,直接輸入bat文件名就能夠執行。token

三:也能夠直接輸出到文件,例如:C:\>f3.bat>111.txt回車以後就只能看到光標一閃一閃的,這時你直接輸入文件夾路徑就能夠了。get

  說明:若是採用輸出到文件的形式,最後把代碼最後的pause行(暫停代碼)刪除,這樣當程序執行完後會自動退出,不會一直停留在程序裏。input

以上兩個程序的出自於「批處理之家」,地址在下面方便之後追蹤以及查閱

參考地址:http://www.bathome.net/thread-37971-1-12.html

相關文章
相關標籤/搜索