컴퓨터2007.10.04 05:10
그동안 중요한 자료는 모두 USB에 담아가지고 다닙니다. 하지만 결코 작은 용량이 아닌 1G USB 디스크의 여유공간이 4mb 밖에 안남는 사태가 발생하고야 말았습니다.
그간 정리하는 습관과는 거리가 멀어 복사붙이기로 분류만 해두었는데 폴더는 점점 많아져서 정리의 엄두가 나지 않았습니다.
 
그러다 찾은것이 "getfoldersize.vbs"
 
오~ 완전 나이스..
게다가 결과물을 텍스트 파일이 아닌 엑셀로 만들어주기까지 한다.
 
 
하지만..
엑셀로 불러오는것보다 커맨드라인으로 바로바로 확인이 가능할거 같다는 생각을 하게되고 좀더 일반적인 환경에서 사용이 가능하도록 스크립트내에서 확인이 가능하도록 변경하였다.
 
■ 변경내용
 - 커맨드라인에서 결과를 바로 확인할수 있도록 변경.
 - 하위폴더까지 나오면서 폴더가 복잡한 구조에서는 보기도 힘들다.
 - 파일용량을 보기 편한 단위로 변경할수 있도록
   
'
' cscript Get_folder_size_cmd.vbs
'
Dim CRLF, TAB :TAB  = CHR( 9 ):CRLF = CHR( 13 ) & CHR( 10 )
Dim Tmp, totalsize
totalsize =0
rootfolder = "Z:\"
Set fso = CreateObject("scripting.filesystemobject")
'Run checkfolder
   CheckFolder (FSO.getfolder(rootfolder))
wscript.echo "totalsize : "&int((FormatNumber(totalsize, 0, , , 0)/1024)/1024/1024) & " GB"
Sub CheckFolder(objCurrentFolder)
       For Each objFolder In objCurrentFolder.SubFolders
 If Instr(objFolder.Path,"RECYCLER") =0 and Instr(objFolder.Path,"System Volume Information") =0 then
         FolderSize = objFolder.Size
  totalsize = totalsize+FolderSize
         Tmp = (FormatNumber(FolderSize, 0, , , 0)/1024)/1024
  If int(Tmp)/1024 > 1 then
          WScript.Echo objFolder.Path& TAB & int(Tmp)/1024 &" GB"
  else
   WScript.Echo objFolder.Path& TAB & int(Tmp) &" MB"
  end if
 end if
       Next
End Sub
 
 
Posted by Zasfe
TAG

댓글을 달아 주세요

  1. 재밌네요.ㅎㅎ

    2008.08.05 18:31 [ ADDR : EDIT/ DEL : REPLY ]
    • zasfe

      반복작업이 제일 귀찮은 작업이라 ㅋ
      감사합니다.

      2008.08.10 03:03 [ ADDR : EDIT/ DEL ]