For it to look right you will need your Options>Take Command>Tabs font set to terminal or similar because it uses ASCII boxes. I started this back in 2001 and it has developed since. The most recent addition be the volume labels and serial numbers.

Hope someone likes it.

Here's a picture

Hope someone likes it.

Code:

```
:: Written by Robin Douglas
:: This bat file shows both graphical and numeric values for Total,
:: Used and Free drive space for all local hard drives, removable and
:: CD drives. The main difference between this and other programs/bat's
:: of it's type is that the graphical display shows relative drive space.
@echo off
setlocal
:Main
set r=3
set FB=°
set UB=Û
set x=0
set DriveLetters=C D E F G H I J K L M N O P Q R S T U V W X Y Z
set Drives=%@substr[%DriveLetters,0,%@index[%DriveLetters,Z]]
if %@right[1,%Drives] != Z set Drives=%Drives
for %a in (%Drives) if %@ready[%a]==1 (echo %a %+ set DT=%@comma[%@disktotal[%a:,b]] %+ if %DT gt %b set b=%DT)
set DrvUnit=%@eval[%b/50=2.4]
set z=%DrvUnit
cls
for %a in (%Drives) if %@ready[%a]==1 gosub Output
:Footer
set TDPU=%@eval[%TDPU / %pd=.2]
set TDPF=%@eval[%TDPF / %pd=.2]
scrput %@dec[%r] 0 bla on whi ÌÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍ¹
scrput %r 0 bla on whi º ³ ³ ³ ³ ³ ³ º
scrput %r 2 bla on whi total
scrput %r %@eval[26-%@len[%TDT]] bla on whi %TDT
scrput %r %@eval[45-%@len[%TDU]] mag on whi %TDU
scrput %r %@eval[64-%@len[%TDF]] blu on whi %TDF
scrput %r %@eval[71-%@len[%TDPU]] mag on whi %TDPU%%=%
scrput %r %@eval[79-%@len[%TDPF]] blu on whi %TDPF%%=%
set r=%@inc[%r]
scrput %r 0 bla on whi ÌÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¹
scrput %@eval[%r+1] 0 bla on whi º = Used Block = Free Block One Block ÷ º
scrput %@eval[%r+1] 2 red on whi Û
scrput %@eval[%r+1] 19 red on whi °
scrput %@eval[%r+1] 48 bla on whi %@comma[%DrvUnit] bytes
scrput %@eval[%r+2] 0 bla on whi ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ¼
screen %@eval[%r+3] 0
echo.
:Done
pause Do that key thing. (press any key when ready)
quit
exit
:: **********************************************************************************
:Output
set DType=%@drivetypeex[%a]
if %DType = 2 set DType=Remov
if %DType = 3 set DType=HDD
if %DType = 4 set DType=NetWk
if %DType = 5 set DType=CD
if %DType = 6 set DType=RAM
if %DType = 7 set DType=DVD
set DrvT=%@comma[%@disktotal[%a:,b]]
set DrvU=%@comma[%@diskused[%a:,b]]
set DrvF=%@comma[%@diskfree[%a:,b]]
set DrvP=%@comma[%@eval[%DrvT/100]]
set DrvPU=%@comma[%@eval[%DrvU/%DrvP=.2]]
set DrvPF=%@comma[%@eval[%DrvF/%DrvP=.2]]
set UD=%@eval[%@diskused[%a:,b]+(%DrvUnit/25)]
set TD=%@eval[%@diskTotal[%a:,b]+(%DrvUnit/25)]
if %x lt 1 scrput 0 0 bla on whi ÉÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍ»
if %x lt 1 scrput 1 0 bla on whi º Drv ³ Total ³ Used ³ Free ³ %=%Used ³ %=%Free ³ Label ³ Serial # º
if %x lt 1 scrput 2 0 bla on whi ÌÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍ¹
scrput %r 0 bla on whi º ³ ³ ³ ³ ³ ³ ³ º
scrput %r 3 bla on whi %a:
scrput %r %@eval[26-%@len[%DrvT]] bla on whi %DrvT
scrput %r %@eval[45-%@len[%DrvU]] mag on whi %DrvU
scrput %r %@eval[64-%@len[%DrvF]] blu on whi %DrvF
scrput %r %@eval[71-%@len[%DrvPU]] mag on whi %DrvPU%%=%
scrput %r %@eval[79-%@len[%DrvPF]] blu on whi %DrvPF%%=%
scrput %r 82 bla on whi %@label[%a]
scrput %r 100 bla on whi %@serial[%a]
set r=%@inc[%r]
scrput %r 0 bla on whi º ³ ³ ³ ³ ³ ³ ³ º
scrput %r 2 bri whi on whi %DType
set c=8
do while %z le %UD
scrput %r %c red on whi %UB
set z=%@eval[%z+%DrvUnit]
set c=%@inc[%c]
enddo
do while %z le %TD
scrput %r %c red on whi %FB
set z=%@eval[%z+%DrvUnit]
set c=%@inc[%c]
enddo
set r=%@inc[%r]
scrput %r 0 bla on whi ÌÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍ¹
set r=%@inc[%r]
set x=%@inc[%x]
set z=%DrvUnit
set c=15
set pd=%@INC[%pd]
set DrvT=%@comma[%@disktotal[%a:,b]]
set DrvU=%@comma[%@diskused[%a:,b]]
set DrvF=%@comma[%@diskfree[%a:,b]]
set DrvP=%@comma[%@eval[%DrvT/100]]
set DrvPU=%@comma[%@eval[%DrvU/%DrvP=.2]]
set DrvPF=%@comma[%@eval[%DrvF/%DrvP=.2]]
set TDT=%@comma[%@eval[%TDT + %DrvT]]
set TDU=%@comma[%@eval[%TDU + %DrvU]]
set TDF=%@comma[%@eval[%TDF + %DrvF]]
set TDPU=%@comma[%@eval[%TDPU + %DrvPU]]
set TDPF=%@comma[%@eval[%TDPF + %DrvPF]]
return
```

Last edited: