Lô Windows, hiển thị tổng số byte thư mục hiện tại và thư mục con


2

Với tệp bó Windows XP và Windows 7 ...

Với đầu ra hàng loạt một (1) dòng, Làm thế nào để hiển thị tổng số byte trong
thư mục hiện tại và tất cả các thư mục phụ?

dir /s không xuất ra số byte mong muốn ở gần cuối của đầu ra.

Làm thế nào để xuất thông tin đó? Như

1234567890 bytes

Dưới đây là 6 ví dụ về những gì đang làm việc trong một lô.
Chúng tôi có 2 phương pháp hiển thị 3 kết quả mỗi:

"d:\temp2" folders (-system -hidden) = 5921  
"d:\temp2" folders (+system +hidden) = 5926  
"d:\temp2" files ................... = 42792  


"d:\temp2" folders (-system -hidden) = 5921  
"d:\temp2" folders (+system +hidden) = 5926  
"d:\temp2" files ................... = 42792  

Câu hỏi trên là hỏi làm thế nào để đầu ra với lô

"d:\temp2" bytes .................., = 1234567890  

6 lệnh tập tin lô làm việc là:

3 đầu tiên là một dòng lệnh

echo One line command outputs  

1

echo echo | set /p dummyName=""d:\temp2" folders (-system -hidden) = " && (dir /s /b /ad-s-h "d:\temp2" |find /c /v "")  

2

echo echo | set /p dummyName=""d:\temp2" folders (+system +hidden) = " && (dir /s /b /ad     "d:\temp2" |find /c /v "")  

3

echo echo | set /p dummyName=""d:\temp2" files                     = " && (dir /s /b /ad-d   "d:\temp2" |find /c /v "")  

4

set count=   
for /f %%a in ('dir /s /b /ad-s-h "d:\temp2" ^|find /c /v "" ') do set count=%%a  
echo "d:\temp2" folders (-system -hidden) = %count%   

5

set count=   
for /f %%a in ('dir /s /b /ad     "d:\temp2" ^|find /c /v "" ') do set count=%%a  
echo "d:\temp2" folders (+system +hidden) = %count%   

6

set count=   
for /f %%a in ('dir /s /b /a-d    "d:\temp2" ^|find /c /v "" ') do set count=%%a  
echo "d:\temp2" files                     = %count%   

Với đầu ra hàng loạt một (1) dòng, Làm thế nào để hiển thị tổng số byte trong
thư mục hiện tại và tất cả các thư mục phụ?

-


1
Vui lòng chỉnh sửa câu hỏi và mã thụt lề của bạn với 4 khoảng trắng.
jftuga

Câu trả lời:


0
@echo off
setlocal

set DNAME=D:\temp2

for /f "usebackq tokens=1,2,3,4" %%a in (`dir %DNAME% /s/w/-c ^| findstr "File(s)"`) do set BYTES=%%c
echo %BYTES% bytes

Điều này xuất ra tổng số byte cho d:\temp2và thư mục con của nó.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.