2016-12-14 7 views
0

Mein Stapelprogramm zeigt zwar die Größe des gewünschten Ordners an, zeigt aber nicht die Größe des Ordners einschließlich der Unterordner an. Ordner. Es überspringt sie einfach. Wie zeige ich dem Programm die Gesamtgröße eines Ordners an?Stapeldatei mit Ordnergröße, zeigt jedoch nicht die Größe der Unterordner und Unterordner aus diesem Unterordner an

Programm hier:

@echo off &setlocal enabledelayedexpansion 
:: folder choose 
echo enter desired directory 
set /p dir= 
cd /d %dir% 
::getting folder size 
for /f "tokens=3" %%a IN ('dir /a-d /-c') DO (
    set size=!free! 
    set free=%%a 
    ) 
echo free space is %free% bytes 
echo size is %size% bytes 

Dank im Voraus!

Niels

Antwort

1

Sie einfach verpassten die /s Option zum dir Befehl hinzuzufügen:

@echo off 
setlocal EnableExtensions EnableDelayedExpansion 
set "FOLDER=" & set /P FOLDER="" 
for /f "tokens=3" %%A in (' 
    dir /S /A:-D /-C "!FOLDER!" 
') do (
    set "SIZE=!FREE!" 
    set "FREE=%%A" 
) 
echo free space is %free% bytes 
echo size is %size% bytes 
endlocal 
0

Um die Größe der Ordner auf dem Desktop zu sehen.

for /f "skip=2 tokens=3" %A in ('Reg query "HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v "Desktop"') do set doc=%A 

for /f "usebackq tokens=2* delims= " %i IN (`dir "%doc%" /a /s ^|findstr /i /v "\/"`) DO @echo %j&echo. 

Um die Größe der Ordner der Ordner System32 zu sehen.

for /f "usebackq tokens=2* delims= " %i IN (`dir "%windir%\system32" /a /s ^|findstr /i /v "\/"`) DO @echo %j&echo. 

Siehe Findstr /?

Verwandte Themen