Rename-Item
Mengganti nama item di namespace penyedia PowerShell.
Sintaks
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>]
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.
Jenis: | SwitchParameter |
Alias: | cf |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | 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.
Jenis: | PSCredential |
Position: | Named |
Nilai default: | Current user |
Diperlukan: | False |
Terima input alur: | True |
Terima karakter wildcard: | 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 about_Providers.
Bahkan menggunakan parameter Force, cmdlet tidak dapat mengambil alih pembatasan keamanan.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-LiteralPath
Menentukan jalur ke satu atau beberapa lokasi. Nilai LiteralPath digunakan persis seperti yang ditik. Tidak ada karakter yang ditafsirkan sebagai wildcard. Jika jalur menyertakan karakter escape, sertakan dalam tanda kutip tunggal. Tanda kutip tunggal memberi tahu PowerShell untuk tidak menginterpretasikan karakter apa pun sebagai urutan escape.
Untuk informasi selengkapnya, lihat about_Quoting_Rules.
Jenis: | String |
Alias: | PSPath, LP |
Position: | Named |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | 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.
Jenis: | String |
Position: | 1 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-PassThru
Mengembalikan objek yang mewakili item ke jalur pemrosesan. Secara default, cmdlet ini tidak menghasilkan output apa pun.
Jenis: | SwitchParameter |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
-Path
Menentukan jalur item yang akan diganti namanya.
Jenis: | String |
Position: | 0 |
Nilai default: | None |
Diperlukan: | True |
Terima input alur: | True |
Terima karakter wildcard: | False |
-WhatIf
Menunjukkan apa yang akan terjadi jika cmdlet berjalan. Cmdlet tidak dijalankan.
Jenis: | SwitchParameter |
Alias: | wi |
Position: | Named |
Nilai default: | False |
Diperlukan: | False |
Terima input alur: | False |
Terima karakter wildcard: | False |
Input
Anda dapat menyalurkan string yang berisi jalur ke cmdlet ini.
Output
None
Secara default, cmdlet ini tidak mengembalikan output.
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 about_Providers.