Windowsバッチファイルで、ドライブの空き容量を取得し変数化する

fsutilで空き容量を取得できるので、うまく文字列を取り出せば変数化できます。

fsutil volume diskfree c: | find "利用可能な空きバイト総数" > %TEMP%\diskfree.tmp
for /F "tokens=3 delims= " %%a in ( %TEMP%\diskfree.tmp ) do set DISKFREE=%%a
del /Q %TEMP%\diskfree.tmp
echo %DISKFREE%


164571160576

のように取り出せます。

だたし、数値はバイト単位のため明らかに32bitを超えています。なのでifを使うときは

if %DISKFREE:~0,-6% GTR 10000 goto end

のように、後ろ6文字を消したりして工夫してください。