Is there a way already to check the free space of a hard drive in a batch script?
I'd rather not use third party apps since I need to fill out a lot of forms, and in that case I think I'll write a small app myself.
batchwindows
Is there a way already to check the free space of a hard drive in a batch script?
I'd rather not use third party apps since I need to fill out a lot of forms, and in that case I think I'll write a small app myself.
Best Answer
The easiest way to reliably get at the free disk space is using WMI. When trying to parse the output of
dir
you get all kinds of funny problems, at the very least with versions of Windows in other languages. You can usewmic
to query the free space on a drive:This will output something like
You can force this into a single line by adding the
/format:value
switch:There are a few empty lines there, though (around three or four) which don't lend themselves well for processing. Luckily the
for
command can remove them for us when we do tokenizing:The nice thing here is that since we're only using the second token all empty lines (that don't have a second token) get ignored.
Remember to double the
%
signs when using this in a batch file:You can now use the free space which is stored in the environment variable
%FreeSpace%
.