다음을 통해 공유


Remove-Item

지정된 항목을 삭제합니다.

구문

Remove-Item [-LiteralPath] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Remove-Item [-Path] <string[]> [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

설명

Remove-Item cmdlet은 하나 이상의 항목을 삭제합니다. 이 cmdlet은 대부분의 공급자에서 지원되므로 파일, 디렉터리, 레지스트리 키, 변수, 별칭 및 함수를 포함하여 많은 유형의 항목을 삭제할 수 있습니다.

매개 변수

-Credential <PSCredential>

이 작업을 수행할 수 있는 권한을 가진 사용자 계정을 지정합니다. 기본값은 현재 사용자입니다.

"User01" 또는 "Domain01\User01"과 같은 사용자 이름을 입력하거나 Get-Credential cmdlet에 의해 생성된 것과 같은 PSCredential 개체를 입력합니다. 사용자 이름을 입력하면 암호를 묻는 메시지가 표시됩니다.

이 매개 변수는 Windows PowerShell과 함께 설치된 어떤 공급자에서도 지원되지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Exclude <string[]>

지정된 항목을 생략합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Filter <string>

공급자의 형식 또는 언어에 필터를 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 와일드카드 사용을 포함하여 필터의 구문은 공급자에 따라 다릅니다. 공급자는 개체를 검색한 후에 Windows PowerShell을 통해 해당 개체를 필터링하는 대신 개체를 검색할 때 필터를 적용하기 때문에 필터는 다른 매개 변수보다 훨씬 효율적입니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

cmdlet이 숨겨진 파일 또는 읽기 전용 파일이나 읽기 전용 별칭 또는 변수와 같이 다른 방법으로는 변경할 수 없는 항목을 제거할 수 있도록 허용합니다. cmdlet은 상수 별칭 또는 변수를 제거할 수 없습니다. 구현은 공급자마다 다릅니다. 자세한 내용은 about_Providers를 참조하십시오. Force 매개 변수를 사용해도 cmdlet은 보안 제한을 재정의할 수 없습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Include <string[]>

지정된 항목만 삭제합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: "*.txt")을 입력하십시오. 와일드카드를 사용할 수 있습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-LiteralPath <string[]>

제거할 항목의 경로를 지정합니다. Path와 달리 LiteralPath 값은 입력한 그대로 사용됩니다. 와일드카드로 해석되는 문자는 없습니다. 경로에 이스케이프 문자가 포함된 경우 경로를 작은따옴표로 묶어야 합니다. 작은따옴표는 Windows PowerShell이 어떤 문자도 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Path <string[]>

제거할 항목의 경로를 지정합니다. 와일드카드를 사용할 수 있습니다. 매개 변수 이름("-Path")은 선택 사항입니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByValue, ByPropertyName)

와일드카드 문자 적용 여부

false

-Recurse

지정된 위치와 해당 위치의 모든 하위 항목에서 항목을 삭제합니다.

Recurse 매개 변수는 이 cmdlet에서 제대로 작동하지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Confirm

명령을 실행하기 전에 확인 메시지를 표시합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-WhatIf

명령을 실제로 실행하지 않고도 명령이 실행될 경우 발생할 수 있는 현상을 설명합니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-UseTransaction

명령을 활성 트랜잭션에 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions를 참조하십시오.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

<CommonParameters>

이 cmdlet은 -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer, -OutVariable 등의 일반 매개 변수를 지원합니다. 자세한 내용은 about_commonparameters.

입력 및 출력

입력 유형은 cmdlet으로 파이프할 수 있는 개체의 유형입니다. 반환 유형은 cmdlet에서 반환되는 개체의 유형입니다.

입력

System.String

경로(리터럴 경로 아님)가 포함된 문자열을 Remove-Item으로 파이프할 수 있습니다.

출력

없음

이 cmdlet은 어떠한 출력도 반환하지 않습니다.

참고

또한 해당 기본 제공 별칭("del", "erase", "rmdir", "rd", "ri" 또는 "rm")으로 Remove-Item을 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.

Remove-Item cmdlet은 모든 공급자가 제공하는 데이터에 사용할 수 있습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 "Get-PsProvider"를 입력합니다. 자세한 내용은 about_Providers를 참조하십시오.

예 1

C:\PS>remove-item C:\Test\*.*

설명
-----------
이 명령은 C:\Test 디렉터리에서 이름에 점(.)이 있는 모든 파일을 삭제합니다. 이 명령에는 점이 지정되어 있으므로 파일 이름 확장명이 없는 파일이나 디렉터리는 삭제되지 않습니다.





예 2

C:\PS>remove-item * -include *.doc -exclude *1*

설명
-----------
이 명령은 현재 디렉터리에서 파일 이름 확장명이 .doc이고 이름에 "1"이 없는 모든 파일을 삭제합니다. 먼저 와일드카드 문자(*)를 사용하여 현재 디렉터리의 내용을 지정합니다. 그런 다음 Include 및 Exclude 매개 변수를 사용하여 삭제할 파일을 지정합니다.





예 3

C:\PS>remove-item -path C:\Test\hidden-RO-file.txt -force

설명
-----------
이 명령은 숨겨져 있는 읽기 전용 파일을 삭제합니다. 먼저 Path 매개 변수를 사용하여 파일을 지정합니다. 그런 다음 Force 매개 변수를 사용하여 파일을 삭제할 권한을 제공합니다. Force가 없으면 읽기 전용 파일이나 숨겨진 파일을 삭제할 수 없습니다.





예 4

C:\PS>get-childitem * -include *.csv -recurse | remove-item

설명
-----------
이 명령은 현재 디렉터리와 모든 하위 디렉터리에서 모든 CSV 파일을 재귀적으로 삭제합니다.

이 cmdlet의 Recurse 매개 변수에 문제가 있으므로 이 명령에서는 Get-Childitem cmdlet을 사용하여 원하는 파일을 가져오고 파이프라인 연산자를 사용하여 해당 파일을 Remove-Item cmdlet으로 전달합니다.

Get-ChildItem 명령에서 Path 매개 변수는 현재 디렉터리의 내용을 나타내는 * 값을 가집니다. 이 명령에서는 Include 매개 변수를 사용하여 CSV 파일 형식을 지정하고 Recurse 매개 변수를 사용하여 재귀적으로 검색합니다. 

"-path *.csv"와 같이 경로에 파일 형식을 지정하면 cmdlet이 검색 대상을 하위 항목이 없는 파일로 해석하므로 Recurse가 실패합니다.





예 5

C:\PS>remove-item hklm:\software\mycompany\OldApp -recurse

설명
-----------
이 명령은 OldApp 레지스트리 키와 이 키의 모든 하위 키 및 값을 삭제합니다. Remove-Item cmdlet을 사용하여 키를 제거합니다. 경로는 지정해야 하지만 선택적 매개 변수 이름(Path)은 생략됩니다. 

Recurse 매개 변수는 OldApp 키의 모든 내용을 재귀적으로 삭제합니다. 키에 하위 키가 있는 경우 Recurse 매개 변수를 생략하면 키의 내용을 삭제할지 여부를 묻는 확인 메시지가 표시됩니다.





참고 항목

개념

about_providers
Clear-Item
Copy-Item
Get-Item
Invoke-Item
Move-Item
New-Item
Remove-ItemProperty
Rename-Item
Set-Item