Move-Item

한 위치에서 다른 위치로 항목을 이동합니다.

Syntax

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

Description

cmdlet은 Move-Item 속성, 콘텐츠 및 자식 항목을 포함한 항목을 한 위치에서 다른 위치로 이동합니다. 위치는 동일한 공급자가 지원해야 합니다.

예를 들어 파일 또는 하위 디렉터리를 한 디렉터리에서 다른 디렉터리로 이동하거나 레지스트리 하위 키를 한 키에서 다른 키로 이동할 수 있습니다. 항목을 이동하면 새 위치에 추가되고 원래 위치에서 삭제됩니다.

예제

예제 1: 파일을 다른 디렉터리로 이동하고 이름을 바꿉니다.

이 명령은 드라이브에서 디렉터리로 E:\Temp 파일을 이동하고 Test.txt 이름을 바꿉니다 test.txttst.txt.C:

Move-Item -Path C:\test.txt -Destination E:\Temp\tst.txt

예제 2: 디렉터리와 해당 내용을 다른 디렉터리로 이동

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

Move-Item -Path C:\Temp -Destination C:\Logs

예제 3: 지정된 확장 프로그램의 모든 파일을 현재 디렉터리에서 다른 디렉터리로 이동

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

Move-Item -Path .\*.txt -Destination C:\Logs

예제 4: 지정된 확장 프로그램의 모든 파일을 현재 디렉터리에서 다른 디렉터리로 재귀적으로 이동

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

Get-ChildItem -Path ".\*.txt" -Recurse | Move-Item -Destination "C:\TextFiles"

이 명령은 cmdlet을 Get-ChildItem 사용하여 현재 디렉터리(점(.)로 표시됨)의 모든 자식 항목과 파일 이름 확장명이 있는 *.txt 하위 디렉터리를 가져옵니다. Recurse 매개 변수를 사용하여 검색 재귀를 만들고 Include 매개 변수를 사용하여 검색을 파일로 *.txt 제한합니다.

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

이름이 같은 Move-Item 파일로 이동 C:\Textfiles 해야 하는 경우 오류가 표시되고 계속되지만 각 이름의 C:\Textfiles파일은 하나만 이동합니다. 나머지 파일은 원래 디렉터리에 그대로 유지됩니다.

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

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

참고 항목

Windows PowerShell 2.0에서 cmdlet의 Recurse 매개 변수를 Get-ChildItem 사용하는 경우 Path 매개 변수의 값은 컨테이너여야 합니다. Include 매개 변수를 사용하여 파일 이름 확장명 필터(Get-ChildItem -Path .\* -Include *.txt -Recurse | Move-Item -Destination C:\TextFiles)를 지정 *.txt 합니다.

예제 5: 레지스트리 키 및 값을 다른 키로 이동

이 명령은 레지스트리 키 내의 MyCompany 레지스트리 키와 값을 키로 HKLM\SoftwareMyNewCompany 이동합니다. wild카드 문자(*)는 키 자체가 아니라 키의 MyCompany 내용을 이동해야 임을 나타냅니다. 이 명령에서 선택적 경로대상 매개 변수 이름은 생략됩니다.

Move-Item "HKLM:\software\mycompany\*" "HKLM:\software\mynewcompany"

예제 6: 디렉터리와 해당 내용을 지정된 디렉터리의 하위 디렉터리로 이동

이 명령은 디렉터리(및 해당 내용)를 디렉터리로 Logs[2006] 이동합니다Logs[Sept`06].

Move-Item -LiteralPath 'Logs[Sept`06]' -Destination 'Logs[2006]'

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

또한 대상 매개 변수는 잘못 해석될 수 있는 대괄호를 포함하므로 작은따옴표로 묶어야 합니다.

매개 변수

-Confirm

cmdlet을 실행하기 전에 확인 메시지가 표시됩니다.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

참고 항목

이 매개 변수는 PowerShell과 함께 설치된 공급자에서 지원되지 않습니다. 다른 사용자를 가장하거나 이 cmdlet을 실행할 때 자격 증명을 높이려면 Invoke-Command를 사용합니다.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Destination

항목을 이동할 위치의 경로를 지정합니다. 기본값은 현재 디렉터리입니다. 야생카드 허용되지 않습니다.

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

Type:String
Position:1
Default value:Current directory
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-Exclude

문자열 배열로 이 cmdlet이 작업에서 제외하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Exclude 매개 변수는 명령에 항목의 내용(예: C:\Windows\*wild카드 문자가 디렉터리의 내용을 지정하는 경우에만 유효합니다C:\Windows.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Filter

Path 매개 변수를 한정할 필터를 지정합니다. FileSystem 공급자는 필터 사용을 지원하는 유일한 설치된 PowerShell 공급자입니다. FileSystem 필터 언어에 대한 구문은 about_Wild카드 찾을 수 있습니다. 필터는 검색된 후 PowerShell이 개체를 필터링하지 않고 cmdlet이 개체를 가져올 때 공급자가 적용하기 때문에 다른 매개 변수보다 더 효율적입니다.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Force

사용자 확인을 요청하지 않고 명령을 강제 실행합니다. 구현은 공급자마다 다릅니다. 자세한 내용은 about_Providers 참조하세요.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Include

문자열 배열로 이 cmdlet이 작업에 포함하는 항목 또는 항목을 지정합니다. 이 매개 변수의 값은 Path 매개 변수를 한정합니다. 경로 요소 또는 패턴(예: *.txt.)을 입력합니다. 와일드카드 문자를 사용할 수 있습니다. Include 매개 변수는 명령에 항목의 내용(예: C:\Windows\*wild카드 문자가 디렉터리의 내용을 지정하는 경우에만 유효합니다C:\Windows.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-LiteralPath

하나 이상의 위치에 대한 경로를 지정합니다. LiteralPath값은 입력된 대로 정확하게 사용됩니다. 어떤 문자도 야생으로 해석되지 카드. 경로에 이스케이프 문자가 포함된 경우 작은따옴표(')로 묶습니다. 작은따옴표는 PowerShell에 문자를 이스케이프 시퀀스로 해석하지 않도록 지시합니다.

자세한 내용은 about_Quoting_Rules 참조하세요.

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

이동된 항목을 나타내는 개체를 반환합니다. 기본적으로 이 cmdlet은 출력을 생성하지 않습니다.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

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

Type:String[]
Position:0
Default value:Current directory
Required:True
Accept pipeline input:True
Accept wildcard characters:True

-WhatIf

cmdlet이 실행될 경우 결과 동작을 표시합니다. cmdlet이 실행되지 않습니다.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

입력

String

이 cmdlet에 대한 경로가 포함된 문자열을 파이프할 수 있습니다.

출력

None

기본적으로 이 cmdlet은 출력을 반환하지 않습니다.

PSObject

PassThru 매개 변수를 사용하는 경우 이 cmdlet은 이동된 항목을 나타내는 개체를 반환합니다.

참고

PowerShell에는 다음 별칭이 포함됩니다.Move-Item

  • 모든 플랫폼:

    • mi
    • move
  • Windows:

    • mv
  • 이 cmdlet은 동일한 공급자가 지원하는 드라이브 간에 파일을 이동하지만 동일한 드라이브 내에서만 디렉터리를 이동합니다.

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

  • 이 cmdlet은 모든 공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 .를 입력 Get-PSProvider합니다. 자세한 내용은 about_Providers 참조하세요.