Rename-Item
PowerShell 공급자 네임스페이스의 항목 이름을 바꿉니다.
구문
Rename-Item
[-Path] <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Rename-Item
-LiteralPath <String>
[-NewName] <String>
[-Force]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[<CommonParameters>]
Description
Rename-Item
cmdlet은 지정된 항목의 이름을 변경합니다. 이 cmdlet은 이름을 바꿀 항목의 내용에 영향을 주지 않습니다.
새 이름과 함께 경로를 지정하는 것과 같이 Rename-Item
사용하여 항목을 이동할 수 없습니다. 항목을 이동하고 이름을 바꾸려면 Move-Item
cmdlet을 사용합니다.
예제
예제 1: 파일 이름 바꾸기
이 명령은 파일 daily_file.txt
이름을 monday_file.txt
.
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
예제 2: 항목 이름 바꾸기 및 이동
Rename-Item
사용하여 항목의 이름을 바꾸고 이동할 수는 없습니다. 특히 경로가 Path 매개 변수에 지정된 경로와 동일하지 않으면 NewName 매개 변수의 값에 대한 경로를 제공할 수 없습니다. 그렇지 않으면 새 이름만 허용됩니다.
다음은 현재 디렉터리의 project.txt
파일 이름을 D:\Archive
디렉터리에 old-project.txt
이름을 바꾸는 예제입니다. 결과는 출력에 표시된 오류입니다.
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"
예제 3: 레지스트리 키 이름 바꾸기
이 예제에서는 레지스트리 키의 이름을 AdvertisingMarketing바꿉니다. 명령이 완료되면 키의 이름이 바뀌지만 키의 레지스트리 항목은 변경되지 않습니다.
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
Get-ChildItem
cmdlet은 .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 |
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 |
-UseTransaction
활성 트랜잭션에 명령을 포함합니다. 이 매개 변수는 트랜잭션이 진행 중인 경우에만 유효합니다. 자세한 내용은 about_Transactions참조하세요.
형식: | SwitchParameter |
별칭: | usetx |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
-WhatIf
cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.
형식: | SwitchParameter |
별칭: | wi |
Position: | Named |
Default value: | False |
필수: | False |
파이프라인 입력 허용: | False |
와일드카드 문자 허용: | False |
입력
이 cmdlet에 대한 경로가 포함된 문자열을 파이프할 수 있습니다.
출력
None or an object that represents the renamed item.
이 cmdlet은 PassThru 매개 변수를 지정하는 경우 이름이 바뀐 항목을 나타내는 개체를 생성합니다. 그렇지 않으면 이 cmdlet은 출력을 생성하지 않습니다.
참고
Rename-Item
공급자가 노출하는 데이터를 사용하도록 설계되었습니다. 세션에서 사용할 수 있는 공급자를 나열하려면 Get-PsProvider
입력합니다. 자세한 내용은 about_Providers참조하세요.