Bagikan melalui


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

Rename-Item Cmdlet 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 Move-Item cmdlet.

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 jalurnya 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 project.txt file di direktori saat ini menjadi old-project.txt di D:\Archive direktori. Hasilnya adalah kesalahan yang ditunjukkan dalam output.

Move-Item Gunakan cmdlet, sebagai gantinya.

Contoh 3: Mengganti nama kunci registri

Contoh ini mengganti nama kunci registri dari Iklan ke Pemasaran. 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 *.txt file 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

Get-ChildItem Cmdlet mendapatkan semua file di folder saat ini yang memiliki .txt ekstensi file lalu 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 saat datang ke perintah melalui alur. Blok skrip menggunakan -replace operator untuk mengganti ekstensi file dari setiap file dengan .log. Perhatikan bahwa pencocokan menggunakan -replace operator tidak peka huruf besar/kecil.

Parameter

-Confirm

Meminta Anda mengonfirmasi sebelum menjalankan cmdlet.

Jenis:SwitchParameter
Alias:cf
Position:Named
Nilai default:False
Diperlukan:False
Terima input alur:False
Terima karakter wildcard:False

-Credential

Catatan

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 baca-saja atau alias atau variabel baca-saja. 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 kartubebas. 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 kartubebas dalam nilai parameter NewName . Untuk menentukan nama untuk beberapa file, gunakan operator Ganti dalam ekspresi reguler. Untuk informasi selengkapnya tentang operator Ganti, 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 alur. 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

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 di sesi Anda, ketik Get-PsProvider. Untuk informasi selengkapnya, lihat about_Providers.