Delen via


Rename-Item

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

Syntaxis

ByPath (Standaard)

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

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 Rename-Item niet gebruiken om een item te verplaatsen, bijvoorbeeld door een pad op te geven samen met de nieuwe naam. Gebruik de cmdlet Move-Item om een item te verplaatsen en de naam ervan te 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 Rename-Item niet gebruiken om de naam van een item te wijzigen en te verplaatsen. U kunt specifiek geen pad opgeven voor de waarde van de parameter NewName, tenzij het pad identiek is aan het pad dat is opgegeven in de parameter Path. 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 wijzigen in old-project.txt in de D:\Archive map. Het resultaat is de fout die wordt weergegeven in de uitvoer.

Gebruik in plaats daarvan de cmdlet Move-Item.

Voorbeeld 3: De naam van een registersleutel wijzigen

In dit voorbeeld wordt de naam van een registersleutel gewijzigd van Advertising 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 worden alle *.txt 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 op in de huidige map met een .txt bestandsextensie en pijpt ze vervolgens naar 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 als het gaat om de opdracht via de pijplijn. Het scriptblok maakt gebruik van de -replace-operator om de bestandsextensie van elk bestand te vervangen door .log. Let op dat overeenkomsten zoeken met behulp van de operator -replace niet hoofdlettergevoelig is.

Parameters

-Confirm

Voordat u de cmdlet uitvoert, vraagt het systeem om bevestiging.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Cf

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Credential

Opmerking

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

Parametereigenschappen

Type:PSCredential
Default value:Current user
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-Force

Dwingt de cmdlet om de naam van items te wijzigen 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. Implementatie varieert van provider tot provider. Zie about_Providersvoor meer informatie.

Zelfs met behulp van de Force parameter kan de cmdlet geen beveiligingsbeperkingen overschrijven.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-LiteralPath

Specificeert een pad naar een of meer locaties. De waarde van LiteralPath- wordt exact gebruikt zoals deze is getypt. Er worden geen tekens geïnterpreteerd als jokertekens. Als het pad escape-tekens bevat, zet het dan tussen enkele aanhalingstekens. Enkele aanhalingstekens zorgen ervoor dat PowerShell geen tekens als escapesequenties interpreteert.

Zie about_Quoting_Rulesvoor meer informatie.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:PSPath, LP

Parametersets

ByLiteralPath
Position:Named
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten: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 verschilt van het pad dat is opgegeven in de parameter Pad, genereert Rename-Item 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 -replacevoor meer informatie over de operator .

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:1
Verplicht:True
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-PassThru

Er wordt een object geretourneerd dat het item in de pijplijn vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-Path

Hiermee geeft u het pad van het item waarvan u de naam wilt wijzigen.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

ByPath
Position:0
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:True
Waarde van resterende argumenten:False

-WhatIf

Toont wat er zou gebeuren wanneer de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.

Parametereigenschappen

Type:SwitchParameter
Default value:False
Ondersteunt jokertekens:False
DontShow:False
Aliassen:Wi

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt een tekenreeks die een pad naar deze cmdlet bevat, doorgeven.

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 platforms:
    • ren
    • rni

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