항목의 위치를 이동합니다.

구문

Move-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Move-Item [-Path] <string[]> [[-Destination] <string>] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

설명

Move-Item cmdlet은 해당 속성, 내용 및 하위 항목을 포함하여 항목의 위치를 이동합니다. 이동하기 전과 후의 위치는 같은 공급자에서 지원되어야 합니다. 예를 들어 디렉터리 간에 파일 또는 하위 디렉터리를 이동하거나 레지스트리 키 간에 레지스트리 하위 키를 이동할 수 있습니다. 항목을 이동하면 해당 항목은 원래 위치에서 삭제되고 새 위치에 추가됩니다.

매개 변수

-Credential <PSCredential>

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

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

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Destination <string>

항목을 이동할 대상 위치의 경로를 지정합니다. 기본값은 현재 디렉터리입니다. 와일드카드를 사용할 수 있지만 결과는 단일 위치를 지정해야 합니다.

이동할 항목의 이름을 바꾸려면 Destination 매개 변수 값에 새 이름을 지정합니다.

필수 여부

false

위치

2

기본값

파이프라인 입력 적용 여부

true (ByPropertyName)

와일드카드 문자 적용 여부

false

-Exclude <string[]>

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Filter <string>

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

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Force

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

-PassThru

항목을 나타내는 개체를 파이프라인으로 전달합니다. 기본적으로 이 cmdlet에서는 출력을 생성하지 않습니다.

필수 여부

false

위치

named

기본값

파이프라인 입력 적용 여부

false

와일드카드 문자 적용 여부

false

-Path <string[]>

항목의 현재 위치에 대한 경로를 지정합니다. 기본값은 현재 디렉터리입니다. 와일드카드를 사용할 수 있습니다.

필수 여부

true

위치

1

기본값

파이프라인 입력 적용 여부

true (ByValue, ByPropertyName)

와일드카드 문자 적용 여부

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

경로가 포함된 문자열을 Move-Item으로 파이프할 수 있습니다.

출력

없음 또는 이동된 항목을 나타내는 개체

Passthru 매개 변수를 사용하는 경우 Move-Item은 이동된 항목을 나타내는 개체를 생성합니다. 그렇지 않으면 아무 출력도 생성하지 않습니다.

참고

Move-Item은 같은 공급자에서 지원되는 드라이브 간에 파일을 이동하지만 디렉터리는 같은 드라이브 내에서만 이동합니다.

Move-Item 명령은 항목의 속성, 내용 및 하위 항목을 이동하므로 모든 이동은 기본적으로 재귀적입니다.

또한 해당 기본 제공 별칭("move", "mv" 및 "mi")으로 Move-Item을 참조할 수 있습니다. 자세한 내용은 about_Aliases를 참조하십시오.

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

예 1

C:\PS>move-item -path C:\test.txt -destination E:\Temp\tst.txt

설명
-----------
이 명령은 C: drive to the E:\Temp 디렉터리에서 Test.txt 파일을 이동하고 "test.txt"에서 "tst.txt"로 이름을 바꿉니다.






예 2

C:\PS>move-item -path C:\Temp -destination C:\Logs

설명
-----------
이 명령은 C:\Temp 디렉터리와 해당 내용을 C:\Logs 디렉터리로 이동합니다. Temp 디렉터리와 해당 하위 디렉터리 및 파일은 이제 Logs 디렉터리에 나타납니다.






예 3

C:\PS>move-item -path .\*.txt -destination C:\Logs

설명
-----------
이 명령은 현재 디렉터리(점(.)으로 표시됨)의 모든 텍스트 파일(*.txt)을 C:\Logs 디렉터리로 이동합니다.






예 4

C:\PS>get-childitem -path . -recurse -include *.txt | move-item -destination C:\TextFiles

설명
-----------
이 명령은 현재 디렉터리와 해당 하위 디렉터리의 모든 텍스트 파일을 재귀적으로 C:\TextFiles 디렉터리로 이동합니다. 

이 명령은 Get-ChildItem cmdlet을 사용하여 현재 디렉터리(점[.]으로 표시됨)와 해당 하위 디렉터리에서 파일 이름 확장명이 *.txt인 모든 하위 항목을 가져옵니다. Recurse 매개 변수를 사용하여 재귀적으로 검색하며 Include 매개 변수를 사용하여 검색 대상을 *.txt 파일로 제한합니다.

파이프라인 연산자(|)는 Move-Item으로 이 명령의 결과를 보냅니다. Move-Item은 텍스트 파일을 TextFiles 디렉터리로 이동합니다.

C:\Textfiles로 이동할 파일의 이름이 같은 경우 Move-Item은 오류를 표시하고 작업을 계속합니다. 그러나 이름이 각기 다른 파일만 C:\Textfiles로 이동합니다. 나머지 파일은 원래 디렉터리에 그대로 남아 있게 됩니다.

Textfiles 디렉터리(또는 대상 경로의 다른 요소)가 없으면 명령이 실패합니다. Force 매개 변수를 사용하더라도 없는 디렉터리가 자동으로 만들어지지 않습니다. Move-Item은 첫 번째 항목을 "Textfiles"라는 파일로 이동한 다음 파일이 이미 있다는 오류 메시지를 표시합니다. 

또한 기본적으로 Get-ChildItem은 숨겨진 파일을 이동하지 않습니다. 숨겨진 파일을 이동하려면 Get-ChildItem과 함께 Force 매개 변수를 사용하십시오.






예 5

C:\PS>move-item hklm:\software\mycompany\* hklm:\software\mynewcompany

설명
-----------
이 명령은 HKLM\Software의 MyCompany 레지스트리 키에 포함된 레지스트리 키 및 값을 MyNewCompany 키로 이동합니다. 와일드카드 문자(*)는 MyCompany 키 자체가 아니라 이 키의 내용을 이동해야 함을 나타냅니다. 이 명령에서 선택적 매개 변수인 Path 및 Destination의 이름은 생략됩니다.






예 6

C:\PS>move-item -literalpath 'Logs[Sept`06]' -destination 'Logs[2006]'

설명
-----------
이 명령은 Logs[Sept`06] 디렉터리와 해당 내용을 Logs[2006] 디렉터리로 이동합니다. 

원래 디렉터리 이름에 왼쪽 대괄호 문자와 오른쪽 대괄호 문자("["와 "]")가 포함되어 있으므로 Path 대신 LiteralPath 매개 변수가 사용됩니다. 또한 억음 기호(`)가 잘못 해석되지 않도록 경로는 작은따옴표(' ')로 묶어야 합니다. 

Destination 변수에도 잘못 해석될 수 있는 대괄호가 포함되어 있습니다. 따라서 Destination 변수도 작은따옴표로 묶어야 하므로 Destination 매개 변수에는 리터럴 경로가 필요하지 않습니다.






참고 항목




목차