mIRC Drive Statistics

This script will post the usage and capacity of each drive.

type /hddstats

Output

[Drive: C: (||------------------) 25.29GB/237.98GB]

[Drive: D: (||||||||||||||------) 2637.38GB/3725.9GB]

[Drive: E: (|||||||||||||||||||-) 3516.02GB/3725.9GB]

[Drive: F: (|||||||||||||||||||-) 3491.33GB/3725.9GB]

[Drive: G: (||||||||||||||||||||) 3656.3GB/3725.9GB]

[Drive: H: (|||||||||||||||-----) 1355.26GB/1862.89GB]

[Total: 14681.58GB/17004.46GB]

alias hddstats {

if ($0 == 0) {

var %drives cdefghijklmnopqrstuvwxyz


var %i 1

while (%i <= $len(%drives)) {

set %drive $mid(%drives,%i,1)

if ($disk(%drive) == $true) {

if ($disk(%drive).type == fixed) {

showdrivestats %drive $+ :

say $result

}

}

inc %i

}

unset %drive


showdrivestats

say $result

}

else {

showdrivestats $1

say $result

}

}


alias showdrivestats {

if ($0 == 0) {

;hddbar

;var %hddbar $result


hddsize $1

var %hddsize $result


return $+ $chr(91) $+ $+ Total %hddsize $+ ]

}

else {

if ($disk($1) == $false) { return }


hddbar $1

var %hddbar $result


hddsize $1

var %hddsize $result


return $+ $chr(91) $+ $+ Drive $1 %hddbar %hddsize $+ ]

}

}


alias hddbar {

var %bar_size 20

if (%bar_size == 0) { return }

if ($0 == 0) { return }


if ($disk($1) == $false) { return }


var %bar_unused $round($calc(($disk($1).free / $disk($1).size) * %bar_size),0)

var %bar_used $round($calc(%bar_size - %bar_unused),0)


return ( $+ $str(|,%bar_used) $+ $str(-,%bar_unused) $+ )


}


alias hddsize {

if ($0 == 0) {

var %drives cdefghijklmnopqrstuvwxyz


var %totalfree 0

var %totalsize 0


var %i 1

while (%i <= $len(%drives)) {

set %drive $mid(%drives,%i,1)

if ($disk(%drive) == $true) {

if ($disk(%drive).type == fixed) {

inc %totalfree $disk(%drive).free

inc %totalsize $disk(%drive).size

}

}

inc %i

}

unset %drive




var %divisor 1024/1024/1024

var %size GB


var %hdd_bfree $round($calc(%totalfree / %divisor),2)

var %hdd_btotal $round($calc(%totalsize / %divisor),2)

var %hdd_bused $calc(%hdd_btotal - %hdd_bfree)


return %hdd_bused $+ %size $+ / $+ %hdd_btotal $+ %size

}

else {

if ($disk($1) == $false) { return }


var %divisor 1024/1024/1024

var %size GB


var %hdd_bfree $round($calc($disk($1).free / %divisor),2)

var %hdd_btotal $round($calc($disk($1).size / %divisor),2)

var %hdd_bused $calc(%hdd_btotal - %hdd_bfree)


return %hdd_bused $+ %size $+ / $+ %hdd_btotal $+ %size

}

}