Win32_Directory 클래스의 Delete 메서드
DeleteWMI 클래스 메서드는 개체 경로에 지정된 논리 파일(또는 디렉터리)을 삭제합니다.
이 항목에서는 MOF(Managed Object Format) 구문을 사용합니다. 이 메서드를 사용하는 방법에 대한 자세한 내용은 메서드 호출을 참조하세요.
구문
uint32 Delete();
매개 변수
이 메서드에는 매개 변수가 없습니다.
반환 값
파일이 성공적으로 삭제된 경우 값 0을 반환하고 오류를 나타내는 다른 숫자를 반환합니다.
-
0
-
요청이 성공했습니다.
-
2
-
액세스가 거부되었습니다.
-
8
-
지정되지 않은 오류가 발생했습니다.
-
9
-
지정한 이름이 잘못되었습니다.
-
10
-
지정한 개체가 이미 있습니다.
-
11
-
NTFS 파일 시스템이 아닙니다.
-
12
-
플랫폼은 Windows가 아닙니다.
-
13
-
드라이브가 동일하지 않습니다.
-
14
-
디렉터리가 비어 있지 않은 경우
-
15
-
공유 위반이 있었습니다.
-
16
-
지정한 시작 파일이 잘못되었습니다.
-
17
-
작업에 필요한 권한은 보유되지 않습니다.
-
21
-
지정된 매개 변수가 잘못되었습니다.
설명
폴더가 반드시 파일 시스템에 영구적으로 추가되는 것은 아닙니다. 폴더가 더 이상 필요하지 않거나 컴퓨터의 역할이 변경되었거나 폴더가 실수로 만들어졌기 때문에 폴더를 삭제해야 할 수도 있습니다.
삭제를 사용하면 폴더를 삭제할 수 있습니다. 해당 폴더에 바인딩한 다음 Delete 메서드를 호출하기만 하면 됩니다. Delete 메서드가 호출되면 폴더가 파일 시스템에서 영구적으로 제거됩니다. 휴지통으로 전송되지 않습니다. 또한 확인 알림("이 폴더를 삭제하시겠습니까?")이 발행되지 않습니다. 대신 폴더가 즉시 제거됩니다.
FileSystemObject를 사용하여 읽기 전용 폴더를 삭제할 수 없습니다. 그러나 WMI를 사용하여 이 작업을 수행할 수 있습니다. 스크립트에서 WMI를 사용하고 읽기 전용 폴더를 제거하지 않으려면 읽기 가능한 속성을 사용하여 폴더를 삭제하기 전에 상태 폴더를 검사 합니다.
예제
다음 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.Delete
Wscript.Echo errResults
Next
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 |
Windows Vista |
지원되는 최소 서버 |
Windows Server 2008 |
네임스페이스 |
Root\CIMV2 |
MOF |
|
DLL |
|