Win32_Directory 클래스의 압축 메서드

CompressWMI 클래스 메서드는 개체 경로에 지정된 논리 디렉터리 항목 파일(또는 디렉터리)을 압축합니다.

이 항목에서는 MOF(Managed Object Format) 구문을 사용합니다. 이 메서드를 사용하는 방법에 대한 자세한 내용은 메서드 호출을 참조하세요.

구문

uint32 Compress();

매개 변수

이 메서드에는 매개 변수가 없습니다.

반환 값

파일이 성공적으로 압축된 경우 값 0을 반환하고 오류를 나타내는 다른 숫자를 반환합니다.

0

요청이 성공했습니다.

2

액세스가 거부되었습니다.

8

지정되지 않은 오류가 발생했습니다.

9

지정한 이름이 잘못되었습니다.

10

지정한 개체가 이미 있습니다.

11

파일 시스템은 NTFS가 아닙니다.

12

플랫폼은 Windows가 아닙니다.

13

드라이브가 동일하지 않습니다.

14

디렉터리가 비어 있지 않은 경우

15

공유 위반이 있었습니다.

16

지정한 시작 파일이 잘못되었습니다.

17

작업에 필요한 권한은 보유되지 않습니다.

21

지정된 매개 변수가 잘못되었습니다.

설명

압축은 새 하드웨어를 구입하지 않고 파일이나 폴더를 제거하지 않고 디스크 드라이브의 추가 스토리지 공간을 확보하는 방법을 제공합니다. 하드 디스크의 크기와 해당 디스크에 저장된 파일 유형에 따라 수백 메가바이트 크기의 디스크 공간을 복구할 수 있으므로 새 하드 드라이브를 구입하고 새 드라이브가 설치될 때까지 컴퓨터를 오프라인으로 전환할 필요가 없습니다.

Compress 메서드는 지정된 폴더 내의 모든 파일과 하위 폴더를 압축합니다. 또한 클래스에는 폴더의 모든 파일 및 하위 폴더에서 압축을 제거하는 Uncompress 메서드도 포함됩니다. 유사한 메서드도 CIM_Datafile 클래스와 함께 제공됩니다. 이렇게 하면 폴더 내의 특정 파일을 선택적으로 압축하거나 압축 해제할 수 있습니다.

압축은 약간의 성능 저하를 부여하기 때문에 정기적으로 액세스되는 파일 또는 폴더에는 권장되지 않습니다. 예를 들어 데이터베이스 파일, 로그 파일 또는 사용자 프로필 폴더를 압축하지 않을 수 있습니다. 압축에 대한 더 나은 후보는 자주 액세스하지 않는 파일 및 폴더입니다. 예를 들어 한 달 이상 액세스하지 않은 드라이브의 폴더 컬렉션을 반환한 다음 각 폴더를 압축하는 스크립트를 작성할 수 있습니다.

폴더를 압축하여 해제된 디스크 공간의 양은 해당 폴더에 저장된 파일의 유형에 따라 달라집니다. 예를 들어 .jpg 파일은 이미 압축되어 있으며 추가 압축은 파일 크기에 거의 영향을 미치지 않습니다. 그러나 다른 파일 형식의 경우 절감액이 상당할 수 있습니다. 예를 들어 Windows 2000 기반 테스트 컴퓨터에서 새 폴더를 만들었으며 총 15MB의 디스크 공간을 차지하는 33개의 Microsoft Word 문서가 해당 폴더에 복사되었습니다. 문서가 압축되었을 때 폴더는 7MB의 디스크 공간만 차지했습니다.

예제

다음 VBScript 샘플은 C:\Scripts 폴더를 압축합니다.

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
 & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colFolders = objWMIService.ExecQuery _
 ("SELECT * FROM Win32_Directory WHERE Name = 'c:\\Scripts'")
For Each objFolder in colFolders
 errResults = objFolder.Compress
 Wscript.Echo errResults
Next

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows Vista
지원되는 최소 서버
Windows Server 2008
네임스페이스
Root\CIMV2
MOF
CIMWin32.mof
DLL
CIMWin32.dll

추가 정보

운영 체제 클래스

Win32_Directory

압축