Copy-Item
Kopierar ett objekt från en plats till en annan.
Syntax
Copy-Item
[-Path] <String[]>
[[-Destination] <String>]
[-Container]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-FromSession <PSSession>]
[-ToSession <PSSession>]
[<CommonParameters>]
Copy-Item
-LiteralPath <String[]>
[[-Destination] <String>]
[-Container]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-FromSession <PSSession>]
[-ToSession <PSSession>]
[<CommonParameters>]
Description
Cmdleten Copy-Item
kopierar ett objekt från en plats till en annan i samma namnområde.
Den kan till exempel kopiera en fil till en mapp, men den kan inte kopiera en fil till en certifikatenhet.
Den här cmdleten klipper inte ut eller tar bort de objekt som kopieras. De specifika objekt som cmdleten kan kopiera beror på vilken PowerShell-provider som exponerar objektet. Den kan till exempel kopiera filer och kataloger på en filsystemenhet och registernycklar och poster på registerenheten.
Den här cmdleten kan kopiera och byta namn på objekt i samma kommando. Om du vill byta namn på ett objekt anger du det nya namnet i värdet för parametern Destination. Om du vill byta namn på ett objekt och inte kopiera det använder du cmdleten Rename-Item
.
Exempel
Exempel 1: Kopiera en fil till den angivna katalogen
I det här exemplet kopieras filen mar1604.log.txt
till katalogen C:\Presentation
. Den ursprungliga filen tas inte bort.
Copy-Item "C:\Wabash\Logfiles\mar1604.log.txt" -Destination "C:\Presentation"
Exempel 2: Kopiera kataloginnehåll till en befintlig katalog
I det här exemplet kopieras innehållet i katalogen C:\Logfiles
till den befintliga katalogen C:\Drawings
. Katalogen Logfiles
kopieras inte.
Om katalogen Logfiles
innehåller filer i underkataloger kopieras dessa underkataloger med sina filträd intakta. Som standard är parametern Container inställd på True, som bevarar katalogstrukturen.
Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings" -Recurse
Not
Om du behöver ta med katalogen Logfiles
i kopian tar du bort \*
från Path.
Till exempel:
Copy-Item -Path "C:\Logfiles" -Destination "C:\Drawings" -Recurse
Exempel 3: Kopiera kataloginnehåll till en ny katalog
Det här exemplet kopierar innehållet i C:\Logfiles
källkatalogen och skapar en ny målkatalog. Den nya målkatalogen \Logs
skapas i C:\Drawings
.
Om du vill ta med källkatalogens namn kopierar du till en befintlig målkatalog enligt Exempel 2. Eller ge den nya målkatalogen samma namn som källkatalogen.
Copy-Item -Path "C:\Logfiles" -Destination "C:\Drawings\Logs" -Recurse
Not
Om den sökvägen innehåller \*
kopieras alla katalogens filinnehåll, utan underkatalogträden, till den nya målkatalogen. Till exempel:
Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings\Logs" -Recurse
Exempel 4: Kopiera en fil till den angivna katalogen och byt namn på filen
I det här exemplet används cmdleten Copy-Item
för att kopiera Get-Widget.ps1
-skriptet från katalogen \\Server01\Share
till katalogen \\Server12\ScriptArchive
. Som en del av kopieringsåtgärden ändrar kommandot objektnamnet från Get-Widget.ps1
till Get-Widget.ps1.txt
, så att det kan kopplas till e-postmeddelanden.
Copy-Item "\\Server01\Share\Get-Widget.ps1" -Destination "\\Server12\ScriptArchive\Get-Widget.ps1.txt"
Exempel 5: Kopiera en fil till en fjärrdator
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar test.log
från mappen D:\Folder001
till mappen C:\Folder001_Copy
på fjärrdatorn med hjälp av sessionsinformationen som lagras i variabeln $Session
. Den ursprungliga filen tas inte bort.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "D:\Folder001\test.log" -Destination "C:\Folder001_Copy\" -ToSession $Session
Exempel 6: Kopiera hela innehållet i en mapp till en fjärrdator
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar hela innehållet från mappen D:\Folder002
till katalogen C:\Folder002_Copy
på fjärrdatorn med hjälp av sessionsinformationen som lagras i variabeln $Session
. Undermapparna kopieras med sina filträd intakta.
$Session = New-PSSession -ComputerName "Server02" -Credential "Contoso\User01"
Copy-Item "D:\Folder002\" -Destination "C:\Folder002_Copy\" -ToSession $Session
Exempel 7: Kopiera hela innehållet i en mapp rekursivt till en fjärrdator
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar hela innehållet från mappen D:\Folder003
till katalogen C:\Folder003_Copy
på fjärrdatorn med hjälp av sessionsinformationen som lagras i variabeln $Session
. Undermapparna kopieras med sina filträd intakta. Eftersom parametern Recurse används skapar åtgärden mappen Folder003_Copy
om den inte redan finns.
$Session = New-PSSession -ComputerName "Server04" -Credential "Contoso\User01"
Copy-Item "D:\Folder003\" -Destination "C:\Folder003_Copy\" -ToSession $Session -Recurse
Exempel 8: Kopiera en fil till en fjärrdator och byt sedan namn på filen
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar scriptingexample.ps1
från mappen D:\Folder004
till mappen C:\Folder004_Copy
på fjärrdatorn med hjälp av sessionsinformationen som lagras i variabeln $Session
. Som en del av kopieringsåtgärden ändrar kommandot objektnamnet från scriptingexample.ps1
till scriptingexample_copy.ps1
, så att det kan kopplas till e-postmeddelanden. Den ursprungliga filen tas inte bort.
$Session = New-PSSession -ComputerName "Server04" -Credential "Contoso\User01"
Copy-Item "D:\Folder004\scriptingexample.ps1" -Destination "C:\Folder004_Copy\scriptingexample_copy.ps1" -ToSession $Session
Exempel 9: Kopiera en fjärrfil till den lokala datorn
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar test.log
från fjärrmappen C:\MyRemoteData\
till den lokala mappen D:\MyLocalData
med hjälp av sessionsinformationen som lagras i variabeln $Session
. Den ursprungliga filen tas inte bort.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\test.log" -Destination "D:\MyLocalData\" -FromSession $Session
Exempel 10: Kopiera hela innehållet i en fjärrmapp till den lokala datorn
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar hela innehållet från mappen remote C:\MyRemoteData\scripts
till den lokala D:\MyLocalData
-mappen med hjälp av sessionsinformationen som lagras i variabeln $Session
. Om skriptmappen innehåller filer i undermappar kopieras dessa undermappar med sina filträd intakta.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\scripts" -Destination "D:\MyLocalData\" -FromSession $Session
Exempel 11: Kopiera hela innehållet i en fjärrmapp rekursivt till den lokala datorn
En session skapas till fjärrdatorn med namnet Server01 med autentiseringsuppgifterna för Contoso\User01
och lagrar resultatet i variabeln med namnet $Session
.
Cmdleten Copy-Item
kopierar hela innehållet från mappen remote C:\MyRemoteData\scripts
till den lokala D:\MyLocalData\scripts
-mappen med hjälp av sessionsinformationen som lagras i variabeln $Session
. Eftersom parametern Recurse används skapar åtgärden skriptmappen om den inte redan finns. Om skriptmappen innehåller filer i undermappar kopieras dessa undermappar med sina filträd intakta.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\scripts" -Destination "D:\MyLocalData\scripts" -FromSession $Session -Recurse
Parametrar
-Confirm
Uppmanar dig att bekräfta innan du kör cmdleten.
Typ: | SwitchParameter |
Alias: | cf |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Container
Anger att den här cmdleten bevarar containerobjekt under kopieringsåtgärden. Som standard är parametern Container inställd på True.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | True |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Credential
Not
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.
Typ: | PSCredential |
Position: | Named |
Standardvärde: | Current user |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Destination
Anger sökvägen till den nya platsen. Standardvärdet är den aktuella katalogen.
Om du vill byta namn på objektet som kopieras anger du ett nytt namn i värdet för parametern Destination.
Typ: | String |
Position: | 1 |
Standardvärde: | Current directory |
Obligatorisk: | False |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-Exclude
Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten exkluderar i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel *.txt
. Jokertecken tillåts. Parametern Exclude gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i katalogen C:\Windows
.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Filter
Anger ett filter för att kvalificera parametern Path. FileSystem-providern är den enda installerade PowerShell-providern som stöder användning av filter. Du hittar syntaxen för FileSystem filterspråk i about_Wildcards. Filter är effektivare än andra parametrar eftersom providern tillämpar dem när cmdleten hämtar objekten i stället för att PowerShell filtrerar objekten när de har hämtats.
Typ: | String |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-Force
Anger att den här cmdleten kopierar objekt som annars inte kan ändras, till exempel kopiering över en skrivskyddad fil eller ett alias.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-FromSession
Anger PSSession- objekt som en fjärrfil kopieras från. När du använder den här parametern refererar parametrarna Path och LiteralPath till den lokala sökvägen på fjärrdatorn.
Typ: | PSSession |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Include
Anger, som en strängmatris, ett objekt eller objekt som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Path. Ange ett sökvägselement eller mönster, till exempel "*.txt"
. Jokertecken tillåts. Parametern Include gäller endast när kommandot innehåller innehållet i ett objekt, till exempel C:\Windows\*
, där jokertecknet anger innehållet i katalogen C:\Windows
.
Typ: | String[] |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | True |
-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 gör att PowerShell inte tolkar några tecken som escape-sekvenser.
Mer information finns i about_Quoting_Rules.
Typ: | String[] |
Alias: | PSPath |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | False |
-PassThru
Returnerar ett objekt som representerar det objekt som du arbetar med. Som standard genererar den här cmdleten inga utdata.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-Path
Anger sökvägen till de objekt som ska kopieras som en strängmatris. Jokertecken tillåts.
Typ: | String[] |
Position: | 0 |
Standardvärde: | None |
Obligatorisk: | True |
Godkänn pipeline-indata: | True |
Godkänn jokertecken: | True |
-Recurse
Anger att denna cmdlet gör en rekursiv kopia.
Typ: | SwitchParameter |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-ToSession
Anger PSSession objekt som en fjärrfil kopieras till. När du använder den här parametern refererar parametern Destination till den lokala sökvägen på fjärrdatorn.
Typ: | PSSession |
Position: | Named |
Standardvärde: | None |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-UseTransaction
Innehåller kommandot i den aktiva transaktionen. Den här parametern är endast giltig när en transaktion pågår. Mer information finns i about_Transactions.
Typ: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
-WhatIf
Visar vad som skulle hända om cmdleten körs. Cmdleten körs inte.
Typ: | SwitchParameter |
Alias: | wi |
Position: | Named |
Standardvärde: | False |
Obligatorisk: | False |
Godkänn pipeline-indata: | False |
Godkänn jokertecken: | False |
Indata
Du kan skicka en sträng som innehåller en sökväg till den här cmdleten.
Utdata
None or an object representing the copied item
När du använder parametern PassThru returnerar den här cmdleten ett objekt som representerar det kopierade objektet. Annars genererar den här cmdleten inga utdata.
Kommentarer
Den här cmdleten är utformad 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 about_Providers.