Rename-Item
Hiermee wijzigt u de naam van een item in een PowerShell-providernaamruimte.
Syntaxis
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
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 met name geen pad opgeven voor de waarde van de parameter
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.
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"
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
. U ziet dat overeenkomsten met behulp van de operator -replace
niet hoofdlettergevoelig zijn.
Parameters
-Confirm
U wordt gevraagd om bevestiging voordat u de cmdlet uitvoert.
Type: | SwitchParameter |
Aliassen: | cf |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | 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 |
Vereist: | False |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 parameter Forceren, kan de cmdlet geen beveiligingsbeperkingen overschrijven.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-LiteralPath
Hiermee geeft u 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 escapetekens bevat, plaatst u het tussen enkele aanhalingstekens. Enkele aanhalingstekens geven PowerShell aan dat er geen tekens als escapereeksen moeten worden geïnterpreteerd.
Zie about_Quoting_Rulesvoor meer informatie.
Type: | String |
Aliassen: | PSPath |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | 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 Vervangen in een reguliere expressie. Zie about_Comparison_Operatorsvoor meer informatie over de operator Vervangen.
Type: | String |
Position: | 1 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-PassThru
Hiermee wordt een object geretourneerd dat het item aan de pijplijn vertegenwoordigt. Deze cmdlet genereert standaard geen uitvoer.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-Path
Hiermee geeft u het pad van het item waarvan u de naam wilt wijzigen.
Type: | String |
Position: | 0 |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
-UseTransaction
Bevat de opdracht in de actieve transactie. Deze parameter is alleen geldig wanneer een transactie wordt uitgevoerd. Zie about_Transactionsvoor meer informatie.
Type: | SwitchParameter |
Aliassen: | usetx |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-WhatIf
Toont wat er zou gebeuren als de cmdlet wordt uitgevoerd. De cmdlet wordt niet uitgevoerd.
Type: | SwitchParameter |
Aliassen: | wi |
Position: | Named |
Default value: | False |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
Invoerwaarden
U kunt een tekenreeks met een pad naar deze cmdlet doorsluisen.
Uitvoerwaarden
None or an object that represents the renamed item.
Met deze cmdlet wordt een object gegenereerd dat het hernoemde item vertegenwoordigt, als u de parameter PassThru- opgeeft. Anders genereert deze cmdlet geen uitvoer.
Notities
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.