설치 / 사용기

기 타 [2번 파일] 파티션 사용량에 따라서 작업하기

2022.01.17 09:10

suk 조회:698 추천:11

어제 질문에 올라온 내용입니다. 어제는 바빠서 오늘 질문을 확인했습니다

데이터 용량은 사용량을 말씀하시는 듯 합니다

 

구글 검색이 잘 되지 않는다고 하셨는데요. 검색어에 따라서 결과가 달라지더군요

제 경우는 예전에 파티션 크기를 검색한 경험이 있어서 fso.getdrive vbscript으로 비교적 쉽게 원하는 검색이 되었습니다

 

https://stackoverflow.com/questions/23014986/when-using-getdrive-freespace-is-reporting-incorrect-in-vbscript

Const strDrive = "P:"
intFactor = 1024 ^ 3

Set objWMIService = GetObject("winmgmts:\\.\root\CIMV2") 
Set colItems = objWMIService.ExecQuery("select * from Win32_LogicalDisk where DeviceID='" & strDrive & "'")

For Each objItem in colItems 

    MsgBox "Size: " & FormatNumber(objItem.Size / intFactor)
    MsgBox "Free: " & FormatNumber(objItem.FreeSpace / intFactor)
    MsgBox "Used: " & FormatNumber((objItem.Size - objItem.FreeSpace) / intFactor)

Next

//////////////////////////////////////////////////////////////////////

위 vbs를 다음 bat 파일로 활용했습니다

//////////////////////////////////////////////////////////////////////

 

@prompt $s

@color 1f

@cd /d %~dp0

@title 테스트

@mode con cols=170 lines=170

@setlocal enabledelayedexpansion

 

@reg query HKU\S-1-5-20>nul || (PowerShell start -verb runas '%0'&exit)

 

set Drive=C:

 

  >"!tmp!\tmp.vbs" echo.Const strDrive = "%Drive%"

>>"!tmp!\tmp.vbs" echo.intFactor = 1024 ^^ 3

>>"!tmp!\tmp.vbs" echo.Set objWMIService = GetObject^("winmgmts:\\.\root\CIMV2"^) 

>>"!tmp!\tmp.vbs" echo.Set colItems = objWMIService.ExecQuery^("select * from Win32_LogicalDisk where DeviceID='" ^& strDrive ^& "'"^)

>>"!tmp!\tmp.vbs" echo.For Each objItem in colItems 

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo ""

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo "전체 크기 [GB] = " ^& FormatNumber^(objItem.Size / intFactor^)

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo ""

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo "남은 크기 [GB] = " ^& FormatNumber^(objItem.FreeSpace / intFactor^)

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo ""

>>"!tmp!\tmp.vbs" echo.    Wscript.Echo "사용 크기 [GB] = " ^& FormatNumber^(^(objItem.Size - objItem.FreeSpace^) / intFactor^)

>>"!tmp!\tmp.vbs" echo.Next

 

cscript //nologo "!tmp!\tmp.vbs

 

for /f "skip=5 tokens=5 delims=. " %%a in ('cscript //nologo "!tmp!\tmp.vbs"') do set used=%%a

 

if %used% geq 10 goto :next

 

실행

 

:next

 

@del /f/a/q "!tmp!\tmp.vbs"

 

@echo.

@echo.

@echo.=========================================================================================

@echo. 모든 작업을 완료했습니다

@echo.=========================================================================================

@echo.     

@pause

@exit

 

//////////////////////////////////////////////////////////////////////

bat 파일로 실행해봤습니다

파티션 사용량 10GB 미만일 때만 작업 실행하기 - bat 구문만 테스트 2022-01-17_075707.jpg

42GB 사용중이라서 건너뛰게 됩니다

그래서 현재 상황에서 실행 화면이 나오게 하려고 기준을 43 GB로 올려서 실행해봤습니다

파티션 사용량 10GB 미만일 때만 작업 실행하기 - bat 구문만 테스트 2022-01-17_075904.jpg

건너뛰지 않고, 실행 쪽으로 이동하는지 구문 테스트입니다. 그래서 테스트는 성공적입니다

 

질문하신 분의 댓글을 보면 1회용이 아니라 계속 반복해서 파티션 사용량을 확인하셔서 10GB 넘어가면 실행 중지하시려는 것 같기도 합니다

그런 경우이시면 위 구문에 timeout /t 숫자 [초]와 goto로 반복 하시면 됩니다. 이 방법은 아래 bat 파일을 참고로 하시면 됩니다

 

저는 예전부터 C드라이브에 남은 용량이 10GB 미만이면 알림 메시지 뜨게 해놨습니다

그 구문을 오늘 검색된 내용으로 변경하여 bat 파일로 실행해봤습니다 [이 bat 파일 구문이 사용기에 올라가지 않네요;;]

C드라이브 10GB 미만으로 남아 있는 경우, 알림 메시지 나오는 bat 실행 2022-01-17_080902.jpg

1분 간격으로 계속 확인하게 해놨습니다

---------------------------------------------------------------

추가: 2022.01.17 월요일 오전 11:47

천단위 넘어가면 [대략 TB] 코머 , 표시가 됩니다. 그래서 숫자 비교할 때 튕기네요;;

그래서 남은 크기는 코머 , 표시가 되지 않도록 했습니다. 다른 파티션 크기 [전체 크기와 사용 크기]는 코머 , 표시됩니다

C드라이브 10GB 미만 알림2 - TB까지 고려.bat - U드라이브 사용량으로 테스트 2022-01-17_114425.jpg

위에 bat 화면은 C:은 크기가 적어서 2TB U:의 사용량으로 코머 , 테스트했습니다

 

C:의 남은 크기와 시간 간격 등은 수정하여 사용하시면 됩니다

2번째 파일: C드라이브 10GB 미만 알림2 - TB까지 고려.bat

2022.01.17 월요일 오후 12:32 - 2번째 파일을 다시 수정 - 오늘 소소한 수정 자주하네요;; 수정했다고 말하기도 그런 사소한 수정입니다

번호 제목 글쓴이 조회 추천 등록일
[공지] 사용기/설치기 이용안내 gooddew - - -
2781 기 타| 레인미터시계 변화 [1] 몸꽝 724 4 01-16
2780 윈 도 우| Windows 11 (22000.466) 2022.01.16 릴리스 프리뷰 [19] suk 1149 21 01-16
2779 윈 도 우| Windows 10 (1904x.1499) 2022.01.16 릴리스 프리뷰 [18] suk 914 24 01-16
2778 기 타| 탐색기 재시작X 아이콘 왼쪽/오른쪽 정렬 등 3가지 모두 해... [11] 왕초보 769 12 01-16
2777 소프트웨어| ● 3차 수정)레인미터/rainmeter power_menu스킨 모양변경 ... [1] shimspeed 833 6 01-16
2776 윈 도 우| Win11 러시아(?) PE 딱 여기까지... [18] PC_Clinic 1435 17 01-17
» 기 타| [2번 파일] 파티션 사용량에 따라서 작업하기 [9] suk 698 11 01-17
2774 윈 도 우| Workstation PE v6 대단하고 멋집니다. [40] 하늘은높고 2138 32 01-17
2773 기 타| PC Clinic.ini 에 PE 설정을 저장해서 활용을 하여 보았습... [9] 왕초보 750 15 01-17
2772 기 타| Rainmeter 에 위치,색상을 입혀봤습니다. [3] Nayu 713 6 01-17
2771 윈 도 우| 워크 스테이션 PE_6에서 아이콘 [6] 4k8k 618 2 01-17
2770 소프트웨어| ● 수정사용기)레인미터 스킨/rainmeter LuaCalendar 일정 ... [4] shimspeed 1026 5 01-18
2769 기 타| StartIsBack 설정은 수동으로 마음대로 하는것이 편하네요.. [23] 왕초보 1129 9 01-18
2768 윈 도 우| 22000.438_&kb5010795_자동업데이트 [3] 4k8k 626 2 01-18
2767 윈 도 우| Windows 11 (22000.438) 2022.01.18 대역 외 [25] suk 1121 27 01-18
2766 윈 도 우| Windows 10 (1904x.1469) 2022.01.18 대역 외 [26] suk 1315 35 01-18
2765 기 타| 풍년의 깜부기 P2 [307] 집앞의_큰 2114 232 01-18
2764 기 타| 요즘 PE와 다른 샛길... [124] DengJang 1418 92 01-18
2763 윈 도 우| Ventoy + Windows + Linux Mulibooting 영상 [15] 메인보드 548 9 01-18
2762 윈 도 우| Windows10/11 21H2 1469/438 VPN 패치 적용 [34] 내꼬 1041 27 01-18
XE1.11.6 Layout1.4.8