인터넷을 뒤져보면 리눅스의 "df" 명령어를 이용해서 파싱해서 쓰는방법이 주로 나오지만,
윈도우에서는 안되는것 같고 어떻게 보면 꽁수를 부린것 같아서
좀더 찾아본 결과 방법이 있긴했다.
(참고로 나는 루비 1.9.3 최신버전을 쓰고 있다)

sys-filesystem 을 설치해서 require해서 쓰면 된다.
먼저 코딩하기전에 설치하자!  (( 관련링크 :  http://rubyforge.org/docman/view.php/610/1562/sys-filesystem.html  ))

$ gem install sys-filesystem 



rb코드

require 'sys/filesystem'   
stat = Sys::Filesystem.stat("c:/")    # --> 분석할 경로
kb_all       = stat.block_size * stat.blocks / 1024 
kb_free      = stat.block_size * stat.blocks_free / 1024
kb_used     = kb_all - kb_free

sprintf("total=%d, used=%d, free=%d", kb_all, kb_used, kb_free)



결과

irb(main):038:0> sprintf("all=%d, used=%d, available=%d", kb_all, kb_used, kb_available)

=> "all=78148604, used=41626356, available=36522248"



+ Recent posts