설치 / 사용기

기 타 [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 - - -
8389 윈 도 우| 세르게이 PE를 DVD에 굽기 전에..... [10] 4k8k 857 5 01-19
8388 기 타| Wim 파일에 PC Clinic.ini 를 바로 저장하기를 하여 보았습... [13] 왕초보 811 11 01-19
8387 소프트웨어| ● 2차 수정)레인미터 스킨/Calendar_Google_holiday skin ... [16] shimspeed 1179 10 01-19
8386 소프트웨어| BackupperPE 6.8.0 장착기? [60] 집앞의_큰 1102 59 01-19
8385 기 타| R-DriveImage [105] 첨임다 1823 79 01-19
8384 기 타| Wim안에 PortableApps 있는경우 설정 저장하기를 하여 보았... [9] 왕초보 762 14 01-19
8383 윈 도 우| Windows10/11 21H2 1469/438 VPN 패치 적용 [34] 내꼬 1039 27 01-18
8382 윈 도 우| Ventoy + Windows + Linux Mulibooting 영상 [15] 메인보드 548 9 01-18
8381 기 타| 요즘 PE와 다른 샛길... [124] DengJang 1418 92 01-18
8380 기 타| 풍년의 깜부기 P2 [307] 집앞의_큰 2113 232 01-18
8379 윈 도 우| Windows 10 (1904x.1469) 2022.01.18 대역 외 [26] suk 1314 35 01-18
8378 윈 도 우| Windows 11 (22000.438) 2022.01.18 대역 외 [25] suk 1121 27 01-18
8377 윈 도 우| 22000.438_&kb5010795_자동업데이트 [3] 4k8k 626 2 01-18
8376 기 타| StartIsBack 설정은 수동으로 마음대로 하는것이 편하네요.. [23] 왕초보 1124 9 01-18
8375 소프트웨어| ● 수정사용기)레인미터 스킨/rainmeter LuaCalendar 일정 ... [4] shimspeed 1017 5 01-18
8374 윈 도 우| 워크 스테이션 PE_6에서 아이콘 [6] 4k8k 618 2 01-17
8373 기 타| Rainmeter 에 위치,색상을 입혀봤습니다. [3] Nayu 712 6 01-17
8372 기 타| PC Clinic.ini 에 PE 설정을 저장해서 활용을 하여 보았습... [9] 왕초보 747 15 01-17
8371 윈 도 우| Workstation PE v6 대단하고 멋집니다. [40] 하늘은높고 2138 32 01-17
» 기 타| [2번 파일] 파티션 사용량에 따라서 작업하기 [9] suk 698 11 01-17
XE1.11.6 Layout1.4.8