Obter tamanho das subpastas apenas usando o comando em lote

Estou passando meu nome de pasta base (C:\Users\IAM\Desktop\MHW\*) no script e deseja obter o tamanho das subpastas subjacentes. O código abaixo não está funcionando. Precisa de ajuda para consertá-lo.

@echo off
setLocal EnableDelayedExpansion
FOR /D %%G in ("C:\Users\IAM\Desktop\MHW\*") DO (
set /a value=0
set /a sum=0
FOR /R "%%G" %%I IN (*) DO (
set /a value=%%~zI/1024
set /a sum=!sum!+!value!
)
@echo %%G: !sum! K
)
pause

Pelo meu entendimento, o valor "%% G" não está sendo passado para o segundo loop FOR.

questionAnswers(1)

yourAnswerToTheQuestion