@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
Isso gera o número total de bytes para d:\temp2
e seus subdiretórios.
Com o arquivo em lotes do Windows XP e do Windows 7 ...
Com uma saída em lote de uma linha (1), Como mostrar o total de bytes no
pasta atual e todas as subpastas?
dir /s
produz o número desejado de bytes perto da parte inferior da saída.
Como gerar essa informação? Como
1234567890 bytes
Aqui estão 6 exemplos do que está funcionando em um lote.
Temos 2 métodos mostrando 3 resultados cada:
"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
A pergunta acima está perguntando como produzir com lote
"d:\temp2" bytes .................., = 1234567890
Os 6 comandos do arquivo de lote de trabalho são:
Primeiros 3 são comandos de uma linha
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%
Com uma saída em lote de uma linha (1), Como mostrar o total de bytes no
pasta atual e todas as subpastas?
-
@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
Isso gera o número total de bytes para d:\temp2
e seus subdiretórios.
Tags windows batch-file