Bagikan melalui


Rename-Item

Mengganti nama item di namespace penyedia PowerShell.

Sintaks

ByPath (Default)

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

ByLiteralPath

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

Deskripsi

cmdlet Rename-Item mengubah nama item tertentu. Cmdlet ini tidak memengaruhi isi item yang diganti namanya.

Anda tidak dapat menggunakan Rename-Item untuk memindahkan item, seperti dengan menentukan jalur bersama dengan nama baru. Untuk memindahkan dan mengganti nama item, gunakan cmdlet Move-Item.

Contoh

Contoh 1: Mengganti nama file

Perintah ini mengganti nama file daily_file.txt menjadi monday_file.txt.

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

Contoh 2: Mengganti nama dan memindahkan item

Anda tidak dapat menggunakan Rename-Item untuk mengganti nama dan memindahkan item. Secara khusus, Anda tidak dapat menyediakan jalur untuk nilai parameter NewName, kecuali jalur tersebut identik dengan jalur yang ditentukan dalam parameter Jalur. Jika tidak, hanya nama baru yang diizinkan.

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"

Contoh ini mencoba mengganti nama file project.txt di direktori saat ini menjadi old-project.txt di direktori D:\Archive. Hasilnya adalah kesalahan yang ditunjukkan dalam keluaran.

Gunakan cmdlet Move-Item, sebagai gantinya.

Contoh 3: Mengganti nama kunci registri

Contoh ini mengganti nama kunci registri dari Advertising menjadi Marketing. Ketika perintah selesai, kunci diganti namanya, tetapi entri registri dalam kunci tidak berubah.

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

Contoh 4: Mengganti nama beberapa file

Contoh ini mengganti nama semua file *.txt di direktori saat ini menjadi *.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 mendapatkan semua file di folder saat ini yang memiliki ekstensi file .txt kemudian menyalurkannya ke Rename-Item. Nilai NewName adalah blok skrip yang berjalan sebelum nilai dikirimkan ke parameter NewName.

Dalam blok skrip, variabel otomatis $_ mewakili setiap objek file ketika objek tersebut diteruskan ke perintah melalui pipeline. Blok skrip menggunakan operator -replace untuk mengganti ekstensi file setiap file dengan .log. Perhatikan bahwa pencocokan menggunakan operator -replace tidak sensitif terhadap huruf besar/kecil.

Parameter

-Confirm

Meminta konfirmasi sebelum menjalankan cmdlet.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:Cf

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Credential

Nota

Parameter ini tidak didukung oleh penyedia apa pun yang diinstal dengan PowerShell. Untuk meniru pengguna lain, atau meningkatkan kredensial Anda saat menjalankan cmdlet ini, gunakan Invoke-Command.

Properti parameter

Jenis:PSCredential
Nilai default:Current user
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-Force

Memaksa cmdlet untuk mengganti nama item yang tidak dapat diubah, seperti file tersembunyi atau hanya-baca, atau alias atau variabel yang hanya-baca. Cmdlet tidak dapat mengubah alias atau variabel konstanta. Implementasi bervariasi dari penyedia ke penyedia. Untuk informasi selengkapnya, lihat tentang_Penyedia.

Bahkan menggunakan parameter Force, cmdlet tidak dapat mengabaikan pembatasan keamanan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-LiteralPath

Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang diketikkan. Tidak ada karakter yang ditafsirkan sebagai wildcard. Jika jalur menyertakan karakter escape, bungkus jalur tersebut dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.

Untuk informasi lebih lanjut, lihat about_Quoting_Rules.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False
Alias:PSPath, LP

Set parameter

ByLiteralPath
Position:Named
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-NewName

Menentukan nama baru item. Masukkan hanya nama, bukan jalur dan nama. Jika Anda memasukkan jalur yang berbeda dari jalur yang ditentukan dalam parameter Jalur, Rename-Item menghasilkan kesalahan. Untuk mengganti nama dan memindahkan item, gunakan Move-Item.

Anda tidak dapat menggunakan karakter pengganti dalam nilai parameter NewName. Untuk menentukan nama untuk beberapa file, gunakan operator -replace dalam ekspresi reguler. Untuk informasi selengkapnya tentang operator -replace, lihat about_Comparison_Operators.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:1
Wajib:True
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-PassThru

Mengembalikan objek yang mewakili item ke jalur pemrosesan. Secara default, cmdlet ini tidak menghasilkan output apa pun.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

-Path

Menentukan jalur item yang akan diganti namanya.

Properti parameter

Jenis:String
Nilai default:None
Mendukung wildcard:False
DontShow:False

Set parameter

ByPath
Position:0
Wajib:True
Nilai dari alur:True
Nilai dari alur berdasarkan nama properti:True
Nilai dari argumen yang tersisa:False

-WhatIf

Menunjukkan apa yang akan terjadi ketika cmdlet dijalankan. Cmdlet tidak dijalankan.

Properti parameter

Jenis:SwitchParameter
Nilai default:False
Mendukung wildcard:False
DontShow:False
Alias:wi

Set parameter

(All)
Position:Named
Wajib:False
Nilai dari alur:False
Nilai dari alur berdasarkan nama properti:False
Nilai dari argumen yang tersisa:False

CommonParameters

Cmdlet ini mendukung parameter umum: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction, dan -WarningVariable. Untuk informasi selengkapnya, lihat about_CommonParameters.

Input

String

Anda dapat menyalurkan string yang berisi jalur ke cmdlet ini.

Output

None

Secara default, cmdlet ini tidak mengembalikan output.

PSObject

Saat Anda menggunakan parameter PassThru, cmdlet ini mengembalikan objek yang mewakili item yang diganti namanya.

Catatan

PowerShell menyertakan alias berikut untuk Rename-Item:

  • Semua platform:
    • ren
    • rni

Rename-Item dirancang untuk bekerja dengan data yang diekspos oleh penyedia mana pun. Untuk mencantumkan penyedia yang tersedia dalam sesi Anda, ketik Get-PSProvider. Untuk informasi selengkapnya, lihat tentang_Penyedia.