Aracılığıyla paylaş


Rename-Item

PowerShell sağlayıcı ad alanında bir öğeyi yeniden adlandırır.

Syntax

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

Cmdlet, Rename-Item belirtilen öğenin adını değiştirir. Bu cmdlet, yeniden adlandırılan öğenin içeriğini etkilemez.

Örneğin, yeni adla birlikte bir yol belirterek bir öğeyi taşımak için kullanamazsınız Rename-Item . Bir öğeyi taşımak ve yeniden adlandırmak için cmdlet'ini Move-Item kullanın.

Örnekler

Örnek 1: Dosyayı yeniden adlandırma

Bu komut dosyayı daily_file.txtmonday_file.txtolarak yeniden adlandırır.

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

Örnek 2: Öğeyi yeniden adlandırma ve taşıma

Bir öğeyi hem yeniden adlandırmak hem de taşımak için kullanamazsınız Rename-Item . Özellikle, yol Path parametresinde belirtilen yolla aynı olmadığı sürece NewName parametresinin değeri için bir yol sağlayamazsınız. Aksi takdirde, yalnızca yeni bir ada izin verilir.

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"

Bu örnek, geçerli dizindeki dosyayı dizinde olarak yeniden adlandırmayı project.txtold-project.txtD:\Archive dener. Sonuç, çıktıda gösterilen hatadır.

Bunun yerine cmdlet'ini Move-Item kullanın.

Örnek 3: Kayıt defteri anahtarını yeniden adlandırma

Bu örnek, bir kayıt defteri anahtarını Reklam'dan Pazarlama'ya yeniden adlandırır. Komut tamamlandığında anahtar yeniden adlandırılır, ancak anahtardaki kayıt defteri girdileri değişmez.

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

Örnek 4: Birden çok dosyayı yeniden adlandırma

Bu örnek, geçerli dizindeki *.txt tüm dosyaları olarak *.logyeniden adlandırır.

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 geçerli klasördeki dosya uzantısına sahip .txt tüm dosyaları alır ve sonra bu dosyaları öğesine aktarır Rename-Item. NewName değeri, değer NewName parametresine gönderilmeden önce çalışan bir betik bloğudur.

Betik bloğunda $_ , otomatik değişken işlem hattı aracılığıyla komutuna geldiğinde her dosya nesnesini temsil eder. Betik bloğu, her dosyanın dosya uzantısını ile .logdeğiştirmek için işlecini kullanır-replace. işlecini kullanarak eşleştirmenin büyük/küçük harfe -replace duyarlı olmadığını unutmayın.

Parametreler

-Confirm

Cmdlet'i çalıştırmadan önce sizden onay ister.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Not

Bu parametre, PowerShell ile yüklenen hiçbir sağlayıcı tarafından desteklenmez. Başka bir kullanıcının kimliğine bürünmek veya bu cmdlet'i çalıştırırken kimlik bilgilerinizi yükseltmek için Invoke-Command kullanın.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Force

Cmdlet'i gizli veya salt okunur dosyalar ya da salt okunur diğer adlar veya değişkenler gibi başka türlü değiştirilmeyecek öğeleri yeniden adlandırmaya zorlar. Cmdlet sabit diğer adları veya değişkenleri değiştiremez. Uygulama sağlayıcıdan sağlayıcıya değişir. Daha fazla bilgi için bkz . about_Providers.

Zorla parametresi kullanıldığında bile cmdlet güvenlik kısıtlamalarını geçersiz kılamaz.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LiteralPath

Bir veya daha fazla konumun yolunu belirtir. LiteralPath değeri tam olarak yazıldığı gibi kullanılır. Hiçbir karakter joker karakter olarak yorumlanmamıştır. Yol kaçış karakterleri içeriyorsa, tek tırnak içine alın. Tek tırnak işaretleri PowerShell'e hiçbir karakteri kaçış dizisi olarak yorumlamaması gerektiğini söyler.

Daha fazla bilgi için bkz . about_Quoting_Rules.

Type:String
Aliases:PSPath
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NewName

Öğenin yeni adını belirtir. Yol ve ad değil, yalnızca bir ad girin. Path parametresinde belirtilen yoldan farklı bir yol girerseniz bir Rename-Item hata oluşturur. Bir öğeyi yeniden adlandırmak ve taşımak için kullanın Move-Item.

NewName parametresinin değerinde joker karakterler kullanamazsınız. Birden çok dosya için bir ad belirtmek için normal ifadede Replace işlecini kullanın. Değiştir işleci hakkında daha fazla bilgi için bkz . about_Comparison_Operators.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-PassThru

öğeyi işlem hattına temsil eden bir nesne döndürür. Varsayılan olarak, bu cmdlet herhangi bir çıkış oluşturmaz.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Yeniden adlandıracak öğenin yolunu belirtir.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseTransaction

Komutunu etkin işleme ekler. Bu parametre yalnızca bir işlem devam ederken geçerlidir. Daha fazla bilgi için bkz . about_Transactions.

Type:SwitchParameter
Aliases:usetx
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Cmdlet çalıştırılıyorsa ne olacağını gösterir. Cmdlet çalıştırılmaz.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Girişler

String

Bu cmdlet'in yolunu içeren bir dizeyi kanala aktarabilirsiniz.

Çıkışlar

None

Varsayılan olarak, bu cmdlet çıkış döndürmez.

PSObject

PassThru parametresini kullandığınızda, bu cmdlet yeniden adlandırılan öğeyi temsil eden bir nesne döndürür.

Notlar

Windows PowerShell için aşağıdaki diğer adları Rename-Itemiçerir:

  • ren
  • rni

Rename-Item herhangi bir sağlayıcı tarafından kullanıma sunulan verilerle çalışacak şekilde tasarlanmıştır. Oturumunuzda kullanılabilen sağlayıcıları listelemek için yazın Get-PsProvider. Daha fazla bilgi için bkz . about_Providers.