Is there a way to get the amount of free diskspace of a disk or a folder in a CMD without having to install some thirdparty applications?
I have a CMD that copies a
The following script will give you free bytes on the drive:
@setlocal enableextensions enabledelayedexpansion
@echo off
for /f "tokens=3" %%a in ('dir c:\') do (
set bytesfree=%%a
)
set bytesfree=%bytesfree:,=%
echo %bytesfree%
endlocal && set bytesfree=%bytesfree%
Note that this depends on the output of your dir command, which needs the last line containing the free space of the format 24 Dir(s) 34,071,691,264 bytes free. Specifically:
for loop to detect the line explicitly rather than relying on setting bytesfree for every line).tokens= bit to get a different word)., character (or you can change the substitution from comma to something else).It doesn't pollute your environment namespace, setting only the bytesfree variable on exit. If your dir output is different (eg, different locale or language settings), you will need to adjust the script.