Dela via


Rename-Item

Byter namn på ett objekt i ett PowerShell-providernamnområde.

Syntax

ByPath (Standard)

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

Cmdleten Rename-Item ändrar namnet på ett angivet objekt. Den här cmdleten påverkar inte innehållet i objektet som byter 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. I annat fall 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å den project.txt filen i den aktuella katalogen till old-project.txt i katalogen D:\Archive. Resultatet är det fel som visas i utdata.

Använd i stället cmdleten Move-Item.

Exempel 3: Byt namn på en registernyckel

Det här exemplet byter namn på en registernyckel från Advertising till Marketing. När kommandot är klart byts 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 gäller kommandot via pipelinen. Skriptblocket använder -replace-operatorn 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.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:jfr

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Credential

Anmärkning

Den här parametern stöds inte av några leverantörer 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.

Parameteregenskaper

Typ:PSCredential
Standardvärde:Current user
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-Force

Tvingar cmdleten att byta namn på objekt som annars inte 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 om_Leverantörer.

Även om du använder parametern Force kan cmdleten inte åsidosätta säkerhetsbegränsningar.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument: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 wildcards. Om sökvägen innehåller escape-tecken omger du den med enkla citattecken. Enkla citattecken gör att PowerShell inte tolkar några tecken som escape-sekvenser.

Mer information finns i about_Quoting_Rules.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False
Alias:PSPath, SP

Parameteruppsättningar

ByLiteralPath
Position:Named
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-NewName

Anger det nya namnet på objektet. Ange endast ett namn, inte en sökväg och namn. Om du anger en sökväg som skiljer sig från sökvägen som anges i parametern Path genererar Rename-Item ett fel. Om du vill byta namn på och flytta ett objekt använder du Move-Item.

Du kan inte använda jokertecken som värde för parametern NewName. Om du vill ange ett namn för flera filer använder du operatorn -replace i ett reguljärt uttryck. Mer information om operatorn -replace finns i about_Comparison_Operators.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:1
Obligatorisk:True
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-PassThru

Returnerar ett objekt som representerar objektet till pipelinen. Som standard genererar den här cmdleten inga utdata.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

-Path

Anger sökvägen till objektet som ska byta namn.

Parameteregenskaper

Typ:String
Standardvärde:None
Stöder jokertecken:False
DontShow:False

Parameteruppsättningar

ByPath
Position:0
Obligatorisk:True
Värde från pipeline:True
Värde från pipeline efter egenskapsnamn:True
Värde från återstående argument:False

-WhatIf

Visar vad som skulle hända om kommandot körs. Cmdleten körs inte.

Parameteregenskaper

Typ:SwitchParameter
Standardvärde:False
Stöder jokertecken:False
DontShow:False
Alias:Wi

Parameteruppsättningar

(All)
Position:Named
Obligatorisk:False
Värde från pipeline:False
Värde från pipeline efter egenskapsnamn:False
Värde från återstående argument:False

CommonParameters

Den här cmdleten stöder vanliga parametrar: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction och -WarningVariable. Mer information finns i about_CommonParameters.

Indata

String

Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.

Utdata

None

Som standard returnerar den här cmdleten inga utdata.

PSObject

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 utformat för att fungera med data som exponeras av alla leverantörer. Om du vill visa en lista över tillgängliga leverantörer i sessionen skriver du Get-PSProvider. Mer information finns i om_Leverantörer.