Сохранить значения командного файла

Я написал этот скрипт для поиска тома с достаточным количеством свободного места:

@echo on
setlocal
set gbsize=1,073,741,824
Set gbsize=%gbsize:,=%

for %%A in (A B C D) do ( 
for /f "tokens=3,4,5,*" %%B in ('dir %%A:\') do (
set bytesfree=%%B
set bytesfree=%bytesfree:,=%
if %%D == free If %bytesfree% gtr %gbsize% echo hi
)
)

Моя проблема в том, что переменная bytesfree сохраняет значение. выход (эхо включено)

C:\Users\Desktop>(
set bytesfree=**780,607,488**
 set bytesfree=**23167987712**
 if free == free If 23167987712 GTR 1073741824 echo hi
)
hi

похоже, что bytesfree потерял свою ценность. Может кто-нибудь, пожалуйста, помогите? и дать некоторые объяснения? Благодарю.

Ответы на вопрос(2)

Ваш ответ на вопрос