Rename-Item
Byter namn på ett objekt i en PowerShell-providernamnrymd.
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
Cmdleten Rename-Item
ändrar namnet på ett angivet objekt. Den här cmdleten påverkar inte innehållet i objektet som byts namn.
Du kan inte använda Rename-Item
för att flytta ett objekt, till exempel genom att ange en sökväg tillsammans med det nya namnet. Om du vill flytta och byta namn på ett objekt använder du cmdleten Move-Item
.
Exempel
Exempel 1: Byt namn på en fil
Det här kommandot byter namn på filen daily_file.txt
till monday_file.txt
.
Rename-Item -Path "c:\logfiles\daily_file.txt" -NewName "monday_file.txt"
Exempel 2: Byt namn på och flytta ett objekt
Du kan inte använda Rename-Item
för att både byta namn på och flytta ett objekt. Mer specifikt kan du inte ange en sökväg för värdet för parametern NewName , såvida inte sökvägen är identisk med sökvägen som anges i parametern Path . Annars tillåts endast ett nytt namn.
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"
Det här exemplet försöker byta namn på project.txt
filen i den aktuella katalogen till old-project.txt
i D:\Archive
katalogen. Resultatet är felet som visas i utdata.
Använd cmdleten Move-Item
i stället.
Exempel 3: Byt namn på en registernyckel
Det här exemplet byter namn på en registernyckel från Reklam till Marknadsföring. När kommandot är klart byter nyckeln namn, men registerposterna i nyckeln är oförändrade.
Rename-Item -Path "HKLM:\Software\MyCompany\Advertising" -NewName "Marketing"
Exempel 4: Byt namn på flera filer
Det här exemplet byter namn på alla *.txt
filer i den aktuella katalogen till *.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
Cmdleten Get-ChildItem
hämtar alla filer i den aktuella mappen som har ett .txt
filnamnstillägg och skickar dem sedan till Rename-Item
. Värdet för NewName är ett skriptblock som körs innan värdet skickas till parametern NewName .
I skriptblocket representerar den $_
automatiska variabeln varje filobjekt när det kommer till kommandot via pipelinen. Skriptblocket använder operatorn -replace
för att ersätta filnamnstillägget för varje fil med .log
. Observera att matchning med operatorn -replace
inte är skiftlägeskänslig.
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Anteckning
Den här parametern stöds inte av några providers som är installerade med PowerShell. Om du vill personifiera en annan användare eller höja dina autentiseringsuppgifter när du kör den här cmdleten använder du Invoke-Command.
Type: | PSCredential |
Position: | Named |
Default value: | Current user |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Force
Tvingar cmdleten att byta namn på objekt som inte på annat sätt kan ändras, till exempel dolda eller skrivskyddade filer eller skrivskyddade alias eller variabler. Cmdleten kan inte ändra konstanta alias eller variabler. Implementeringen varierar från leverantör till leverantör. Mer information finns i about_Providers.
Även om du använder force-parametern kan cmdleten inte åsidosätta säkerhetsbegränsningar.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-LiteralPath
Anger en sökväg till en eller flera platser. Värdet för LiteralPath används exakt som det skrivs. Inga tecken tolkas som jokertecken. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken talar om för PowerShell att inga tecken ska tolkas som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Type: | String |
Aliases: | PSPath, LP |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-NewName
Anger det nya namnet på objektet. Ange bara ett namn, inte en sökväg och ett namn. Om du anger en sökväg som skiljer sig från den sökväg som anges i parametern Rename-Item
Path genererar ett fel.
Om du vill byta namn på och flytta ett objekt använder du Move-Item
.
Du kan inte använda jokertecken i värdet för parametern NewName . Om du vill ange ett namn för flera filer använder du operatorn Ersätt i ett reguljärt uttryck. Mer information om operatorn Ersätt finns i about_Comparison_Operators.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Returnerar ett objekt som representerar objektet i pipelinen. Som standard genererar denna cmdlet inga utdata.
Type: | SwitchParameter |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Path
Anger sökvägen till det objekt som ska byta namn.
Type: | String |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-WhatIf
Visar vad som skulle hända om cmdleten kördes. Cmdleten körs inte.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Indata
Du kan skicka en sträng som innehåller en sökväg till denna cmdlet.
Utdata
None
Som standard returnerar denna cmdlet inga utdata.
När du använder parametern PassThru returnerar den här cmdleten ett objekt som representerar det omdöpta objektet.
Kommentarer
PowerShell innehåller följande alias för Rename-Item
:
- Alla plattformar:
ren
rni
Rename-Item
är utformad för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över de providrar som är tillgängliga i sessionen skriver du Get-PsProvider
. Mer information finns i about_Providers.