다음을 통해 공유


Rename-Item

PowerShell 공급자 네임스페이스의 항목 이름을 바꿉니다.

구문

Rename-Item
      [-Path] <String>
      [-NewName] <String>
      [-Force]
      [-PassThru]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm] 
      [<CommonParameters>]
Rename-Item
      -LiteralPath <String>
      [-NewName] <String>
      [-Force]
      [-PassThru]
      [-Credential <PSCredential>]
      [-WhatIf]
      [-Confirm] 
      [<CommonParameters>]

Description

cmdlet은 Rename-Item 지정된 항목의 이름을 변경합니다. 이 cmdlet은 이름을 바꿀 항목의 내용에 영향을 주지 않습니다.

새 이름과 함께 경로를 지정하는 것과 같이 항목을 이동하는 데 사용할 Rename-Item 수 없습니다. 항목을 이동하고 이름을 바꾸려면 cmdlet을 Move-Item 사용합니다.

예제

예제 1: 파일 이름 바꾸기

이 명령은 파일 daily_file.txt monday_file.txt이름을 .로 바꿉니다.

Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"

예제 2: 항목 이름 바꾸기 및 이동

항목의 이름을 바꾸고 이동하는 데는 사용할 Rename-Item 수 없습니다. 특히 경로가 Path 매개 변수에 지정된 경로와 동일하지 않으면 NewName 매개 변수 값에 대한 경로를 제공할 수 없습니다. 그렇지 않으면 새 이름만 허용됩니다.

Rename-Item -Path "project.txt" -NewName "d:\archive\old-project.txt"

Rename-Item : can't rename because the target specified represents a path or device name.
At line:1 char:12
+ Rename-Item <<<<  -path project.txt -NewName d:\archive\old-project.txt
+ CategoryInfo          : InvalidArgument: (:) [Rename-Item], PS>  Move-Item -Path "project.txt" -De
stination "d:\archive\old-project.txt"

다음은 현재 디렉터리의 파일 이름을 디렉터리에 있는 파일의 old-project.txt D:\Archive 이름을 바꾸는 project.txt 예제입니다. 결과는 출력에 표시된 오류입니다.

Move-Item 대신 cmdlet을 사용합니다.

예제 3: 레지스트리 키 이름 바꾸기

이 예제에서는 레지스트리 키의 이름을 Advertising에서 Marketing으로 바꿉니다. 명령이 완료되면 키 이름만 바뀌고 키의 레지스트리 항목은 변경되지 않습니다.

Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"

예제 4: 여러 파일 이름 바꾸기

다음은 현재 디렉터리에 있는 모든 파일의 *.txt 이름을 .로 바꾸는 예제입니다 *.log.

Get-ChildItem *.txt

Directory: C:\temp\files

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        10/3/2019   7:47 AM           2918 Friday.TXT
-a----        10/3/2019   7:46 AM           2918 Monday.Txt
-a----        10/3/2019   7:47 AM           2918 Wednesday.txt

Get-ChildItem *.txt | Rename-Item -NewName { $_.Name -replace '.txt','.log' }
Get-ChildItem *.log

Directory: C:\temp\files

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----        10/3/2019   7:47 AM           2918 Friday.log
-a----        10/3/2019   7:46 AM           2918 Monday.log
-a----        10/3/2019   7:47 AM           2918 Wednesday.log

cmdlet은 Get-ChildItem 파일 확장명이 있는 .txt 현재 폴더의 모든 파일을 가져와서 파이프합니다 Rename-Item. NewName 값은 값이 NewName 매개 변수에 제출되기 전에 실행되는 스크립트 블록입니다.

스크립트 블록에서 자동 변수는 $_ 파이프라인을 통해 명령에 올 때 각 파일 개체를 나타냅니다. 스크립트 블록은 연산자를 -replace 사용하여 각 파일의 파일 확장자를 .로 .log바꿉니다. 연산자를 -replace 사용한 일치는 대/소문자를 구분하지 않습니다.

매개 변수

-Confirm

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

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Credential

참고 항목

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

형식:PSCredential
Position:Named
Default value:Current user
필수:False
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-Force

cmdlet이 숨김 또는 읽기 전용 파일 또는 읽기 전용 별칭 또는 변수와 같이 변경할 수 없는 항목의 이름을 변경하도록 강제합니다. cmdlet은 상수 별칭 또는 변수를 변경할 수 없습니다. 구현은 공급자마다 다릅니다. 자세한 내용은 about_Providers 참조하세요.

Force 매개 변수를 사용하더라도 cmdlet은 보안 제한을 재정의할 수 없습니다.

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-LiteralPath

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

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

형식:String
별칭:PSPath, LP
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-NewName

항목의 새 이름을 지정합니다. 경로와 이름이 아닌 이름만 입력합니다. Path 매개 변수 Rename-Item 에 지정된 경로와 다른 경로를 입력하면 오류가 발생합니다. 항목의 이름을 바꾸고 이동하려면 .를 사용합니다 Move-Item.

NewName 매개 변수 값에는 와일드카드 문자를 사용할 수 없습니다. 여러 파일의 이름을 지정하려면 정규식에서 Replace 연산자를 사용합니다. Replace 연산자에 대한 자세한 내용은 about_Comparison_Operators 참조하세요.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-PassThru

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

형식:SwitchParameter
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Path

이름을 바꿀 항목의 경로를 지정합니다.

형식:String
Position:0
Default value:None
필수:True
파이프라인 입력 허용:True
와일드카드 문자 허용:False

-WhatIf

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

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

String

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

출력

None

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

PSObject

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

참고

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

  • 모든 플랫폼:
    • ren
    • rni

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