Delen via


Rename-Item

Hiermee wijzigt u de naam van een item in de naamruimte van een PowerShell-provider.

Syntax

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>]

Description

De Rename-Item cmdlet wijzigt de naam van een opgegeven item. Deze cmdlet heeft geen invloed op de inhoud van het item waarvan de naam wordt gewijzigd.

U kunt niet gebruiken Rename-Item om een item te verplaatsen, bijvoorbeeld door een pad op te geven samen met de nieuwe naam. Gebruik de cmdlet om een item te verplaatsen en de naam ervan te Move-Item wijzigen.

Voorbeelden

Voorbeeld 1: de naam van een bestand wijzigen

Met deze opdracht wordt de naam van het bestand daily_file.txt gewijzigd in monday_file.txt.

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

Voorbeeld 2: de naam van een item wijzigen en verplaatsen

U kunt niet gebruiken Rename-Item om zowel de naam van een item te wijzigen als een item te verplaatsen. U kunt met name geen pad opgeven voor de waarde van de parameter NewName , tenzij het pad identiek is aan het pad dat is opgegeven in de path-parameter . Anders is alleen een nieuwe naam toegestaan.

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"

In dit voorbeeld wordt geprobeerd de naam van het project.txt bestand in de huidige map te old-project.txt wijzigen in in de D:\Archive map. Het resultaat is de fout die wordt weergegeven in de uitvoer.

Gebruik in plaats daarvan de Move-Item cmdlet.

Voorbeeld 3: de naam van een registersleutel wijzigen

In dit voorbeeld wordt de naam van een registersleutel gewijzigd van Reclame in Marketing. Wanneer de opdracht is voltooid, wordt de naam van de sleutel gewijzigd, maar de registervermeldingen in de sleutel blijven ongewijzigd.

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

Voorbeeld 4: de naam van meerdere bestanden wijzigen

In dit voorbeeld wordt de *.txt naam van alle bestanden in de huidige map gewijzigd in *.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

De Get-ChildItem cmdlet haalt alle bestanden in de huidige map met een .txt bestandsextensie op en geeft ze vervolgens door aan Rename-Item. De waarde van NewName is een scriptblok dat wordt uitgevoerd voordat de waarde wordt verzonden naar de parameter NewName .

In het scriptblok vertegenwoordigt de $_ automatische variabele elk bestandsobject wanneer het via de pijplijn naar de opdracht komt. Het scriptblok gebruikt de -replace operator om de bestandsextensie van elk bestand .logte vervangen door . U ziet dat overeenkomsten met behulp van de -replace operator niet hoofdlettergevoelig zijn.

Parameters

-Confirm

Hiermee wordt u gevraagd om bevestiging voordat u de cmdlet uitvoert.

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

-Credential

Notitie

Deze parameter wordt niet ondersteund door providers die zijn geïnstalleerd met PowerShell. Als u een andere gebruiker wilt imiteren of uw referenties wilt verhogen bij het uitvoeren van deze cmdlet, gebruikt u Invoke-Command.

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

-Force

Hiermee zorgt u ervoor dat de cmdlet de naam van items wijzigt die anders niet kunnen worden gewijzigd, zoals verborgen of alleen-lezen bestanden of alleen-lezen aliassen of variabelen. De cmdlet kan geen constante aliassen of variabelen wijzigen. De implementatie verschilt van provider tot provider. Zie about_Providers voor meer informatie.

Zelfs als u de parameter Force gebruikt, kan de cmdlet geen beveiligingsbeperkingen negeren.

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

-LiteralPath

Hiermee geeft u een pad naar een of meer locaties. De waarde van LiteralPath wordt precies gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens vertellen PowerShell dat geen tekens als escape-reeksen worden geïnterpreteerd.

Zie about_Quoting_Rules voor meer informatie.

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

-NewName

Hiermee geeft u de nieuwe naam van het item. Voer alleen een naam in, geen pad en naam. Als u een pad invoert dat afwijkt van het pad dat is opgegeven in de parameter Path , Rename-Item genereert een fout. Als u de naam van een item wilt wijzigen en verplaatsen, gebruikt u Move-Item.

U kunt geen jokertekens gebruiken in de waarde van de parameter NewName . Als u een naam voor meerdere bestanden wilt opgeven, gebruikt u de operator Replace in een reguliere expressie. Zie about_Comparison_Operators voor meer informatie over de operator Replace.

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

-PassThru

Retourneert een object dat het item naar de pijplijn vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

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

-Path

Hiermee geeft u het pad op van het item waarvan de naam moet worden gewijzigd.

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

-WhatIf

Hiermee wordt weergegeven wat er zou gebeuren als u de cmdlet uitvoert. De cmdlet wordt niet uitgevoerd.

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

Invoerwaarden

String

U kunt een tekenreeks doorsnijden die een pad naar deze cmdlet bevat.

Uitvoerwaarden

None

Deze cmdlet retourneert standaard geen uitvoer.

PSObject

Wanneer u de parameter PassThru gebruikt, retourneert deze cmdlet een object dat het hernoemde item vertegenwoordigt.

Notities

PowerShell bevat de volgende aliassen voor Rename-Item:

  • Alle platformen:
    • ren
    • rni

Rename-Item is ontworpen om te werken met de gegevens die door een provider worden weergegeven. Als u de providers wilt weergeven die beschikbaar zijn in uw sessie, typt u Get-PsProvider. Zie about_Providers voor meer informatie.