설치 / 사용기

기 타 [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 - - -
11041 기 타| nov님 BR Fast 버전 피드백 - 원인을 찾았습니다 [3] new 왕초보 171 5 11:10
11040 기 타| 【첨부】 PEplus 2종 PE를 "더블런처" PE로 만들기 [9] new 딸랑쇠 368 28 08:58
11039 기 타| WinXPE147수정버전_20240322_23H2 (빌드22631.3520) Launch... [27] update 격자 427 52 04-19
11038 소프트웨어| AOMEI Backupper 7.3.5 인터 페이스 구축 [46] update 사랑의음악 483 76 04-19
11037 윈 도 우| win10 10945.4291 깡통습작 [7] update 라랑 600 21 04-19
11036 소프트웨어| 디펜더 기록 삭제 [35] 집앞의_큰 1108 83 04-19
11035 기 타| IFW BR Fast v3.0 Drag + Win11 RecoveryPE로 업데이트 하... [15] 왕초보 716 36 04-18
11034 기 타| 실행 파일 오류 수정 하세요 [7] V무등산V 485 23 04-18
11033 기 타| 【공유】 Win11 ToolsBR v3.620+C 더블런처 PE ~2in1~ [22] 딸랑쇠 900 57 04-18
11032 윈 도 우| Defender 보호 기록 제거 스크립트 [20] update 와로 728 39 04-18
11031 기 타| 종료 WinXPE147수정버전_20240322_23H2 (빌드22631.3520) [47] update 격자 305 92 04-18
11030 소프트웨어| WIM 정보 v0993 - 내부 파일 추가 삭제 내보내기 최적화 타... [17] 입니다 671 38 04-18
11029 기 타| 구형 PE 수정 [61] 집앞의_큰 947 134 04-18
11028 기 타| (수정) PureBasic - Launch 버튼을 테마에 따라 다른색으로... [4] 왕초보 628 12 04-18
11027 기 타| 더블(숨은) 런처 PE [77] 딸랑쇠 986 136 04-18
11026 기 타| 수정 00 [31] update V무등산V 884 70 04-17
11025 소프트웨어| Launcher 다운로드 및 설치 [9] update 기완아빠 584 33 04-17
11024 기 타| CLaunch - CLaunch.exe 종료후 테마 적용 방식으로 해보았... [4] 왕초보 626 9 04-17
11023 소프트웨어| 심플 런처 3 v0.2 - sLauncher3 [21] 지후빠 638 44 04-17
11022 윈 도 우| [가상머신용] 완전무인설치 테스트2 [21] suk 775 62 04-17
XE1.11.6 Layout1.4.8