Snippets Project Page
Author: Raccoon
Added: 3y
Updated: Never
mIRC: mIRC 7.x
Hits: 660
Downloads: 22
Review: westor
Size: 2.84KB
2 0
Login to vote.
/disks is a pretty display of your computer's storage
v2.0
This simple script displays the used, free, and total disk space of your various hard drives and external storage.
The code is elegantly obfuscated by a deranged mind. That is, I wrote it to be vertically compact, not pretty.
¯\_(ツ)_/¯
Download
JSON
▲ Review
▼ Source
; This code lives in the Aliases section. ; Type /disks disks { ; by Raccoon linesep var %sizes, %size_m, %size_x, %size_t, %free_t, %used_t, %pass = 1 while (%pass <= 2) { var %i = 1, %n = $disk(0) while (%i <= %n) { ; fixed, removable, cdrom, ramdisk, remote, and unknown. ; if ... inc|continue if (%pass == 1) { set %sizes %sizes $+ $disk(%i).size $+ + | inc %i | continue } var %size = $disk(%i).size, %free = $disk(%i).free, %used = %size - %free inc %used_t %used | inc %free_t %free var %s = $disk(%i).path $(|) $& used: $padr($disks_bytes(%used),8) ( $+ $padr($round($calc(%used / %size * 100),0) $+ %,4) $+ ) $(|) $& free: $padr($disks_bytes(%free),8) ( $+ $padr($round($calc(%free / %size * 100),0) $+ %,4) $+ ) $(|) $& size: $padr($disks_bytes(%size),8) ( $+ $padr($round($calc(%size / %size_t * 100),0) $+ %,4) $+ ) $(|) $& $disk(%i).label $+ $disk(%i).unc ( $+ $disk(%i).type $+ ) var %len_m = $calc($len($gettok(%s,2-3,124)) +1), %len_x = $len($gettok(%s,2-4,124)) var %len_s = $round($calc(((%size - %size_m) / (%size_x - %size_m)) * (%len_x - %len_m) + %len_m),0) var %len_u = $round($calc((%used / %size) * %len_s),0), %len_f = %len_s - %len_u var %cu = 83, %cf = 81 echo -aic info * disks: $& $regsubex(%s,/(?<=\|)(.{ $+ %len_u $+ })(.{ $+ %len_f $+ })/u,$+($chr(3),99,$chr(44),%cu,\1,$chr(3),99,$chr(44),%cf,\2,$chr(15))) inc %i } var %sizes = $sorttok(%sizes,43,n), %size_m = $gettok(%sizes,1,43), %size_x = $gettok(%sizes,-1,43), %size_t = $calc(%sizes) inc %pass } var %s = ( $+ %n $+ ) $+ $iif(%n < 10,$chr(32)) $+ $(|) $& used: $padr($disks_bytes(%used_t),8) ( $+ $padr($round($calc(%used_t / %size_t * 100),0) $+ %,4) $+ ) $(|) $& free: $padr($disks_bytes(%free_t),8) ( $+ $padr($round($calc(%free_t / %size_t * 100),0) $+ %,4) $+ ) $(|) $& size: $padr($disks_bytes(%size_t),8) ( $+ $padr(100%,4) $+ ) $(|) System Total var %len_s = $len($gettok(%s,2-4,124)), %len_u = $round($calc((%used_t / %size_t) * %len_s),0), %len_f = %len_s - %len_u var %cu = 86, %cf = 77 echo -aic info * disks: ----+-----------------------+-----------------------+-----------------------+----------------------- echo -aic info * disks: $& $regsubex(%s,/(?<=\|)(.{ $+ %len_u $+ })(.{ $+ %len_f $+ })/u,$+($chr(3),99,$chr(44),%cu,\1,$chr(3),99,$chr(44),%cf,\2,$chr(15))) linesep } ; Raccoon 2015-2021 disks_bytes { return $iif(. isin $round($bytes($1,d),1),$v2,$v2 $+ .0) $remove($bytes($1).suf,0,1,2,3,4,5,6,7,8,9,.) } ; Raccoon 2021 padr { return $str($iif($3 != $null,$3,$chr(160)),$calc($2 - $len($1))) $+ $1 } ; Raccoon 2015 ; --- end /disks ---
Changelog:
0
0