Copy-Item
Zkopíruje položku z jednoho umístění do jiného.
Syntax
Path (Výchozí)
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>]
LiteralPath
Copy-Item
[[-Destination] <String>]
-LiteralPath <String[]>
[-Container]
[-Force]
[-Filter <String>]
[-Include <String[]>]
[-Exclude <String[]>]
[-Recurse]
[-PassThru]
[-Credential <PSCredential>]
[-WhatIf]
[-Confirm]
[-UseTransaction]
[-FromSession <PSSession>]
[-ToSession <PSSession>]
[<CommonParameters>]
Description
Rutina Copy-Item zkopíruje položku z jednoho umístění do jiného umístění ve stejném oboru názvů.
Může například zkopírovat soubor do složky, ale nemůže zkopírovat soubor na jednotku certifikátu.
Tato rutina neodstraní zkopírované položky nebo je neodstraní. Konkrétní položky, které může rutina kopírovat, závisí na poskytovateli PowerShellu, který položku zveřejňuje. Může například kopírovat soubory a adresáře v jednotce systému souborů a klíče registru a položky v jednotce registru.
Tato rutina může kopírovat a přejmenovat položky ve stejném příkazu. Pokud chcete položku přejmenovat, zadejte nový název do hodnoty parametru Destination. Pokud chcete položku přejmenovat a nekopírovat, použijte rutinu Rename-Item.
Příklady
Příklad 1: Zkopírování souboru do zadaného adresáře
Tento příklad zkopíruje soubor mar1604.log.txt do adresáře C:\Presentation. Původní soubor se neodstraní.
Copy-Item "C:\Wabash\Logfiles\mar1604.log.txt" -Destination "C:\Presentation"
Příklad 2: Kopírování obsahu adresáře do existujícího adresáře
Tento příklad zkopíruje obsah adresáře C:\Logfiles do existujícího adresáře C:\Drawings. Adresář Logfiles se nekopíruje.
Pokud adresář Logfiles obsahuje soubory v podadresářích, zkopírují se tyto podadresáře s nedotčenými stromy souborů. Ve výchozím nastavení je parametr Container nastaven na hodnotu True, která zachovává adresářovou strukturu.
Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings" -Recurse
Poznámka:
Pokud potřebujete do kopie zahrnout adresář
Copy-Item -Path "C:\Logfiles" -Destination "C:\Drawings" -Recurse
Příklad 3: Kopírování obsahu adresáře do nového adresáře
Tento příklad zkopíruje obsah zdrojového adresáře C:\Logfiles a vytvoří nový cílový adresář. Nový cílový adresář, \Logs se vytvoří v C:\Drawings.
Pokud chcete zahrnout název zdrojového adresáře, zkopírujte ho do existujícího cílového adresáře, jak je znázorněno v Příklad 2. Nebo pojmenujte nový cílový adresář se stejným názvem jako zdrojový adresář.
Copy-Item -Path "C:\Logfiles" -Destination "C:\Drawings\Logs" -Recurse
Poznámka:
Pokud Cesta zahrnuje \*, veškerý obsah souboru adresáře bez stromů podadresáře se zkopíruje do nového cílového adresáře. Například:
Copy-Item -Path "C:\Logfiles\*" -Destination "C:\Drawings\Logs" -Recurse
Příklad 4: Zkopírování souboru do zadaného adresáře a přejmenování souboru
Tento příklad používá rutinu Copy-Item ke zkopírování skriptu Get-Widget.ps1 z adresáře \\Server01\Share do adresáře \\Server12\ScriptArchive. V rámci operace kopírování příkaz změní název položky z Get-Widget.ps1 na Get-Widget.ps1.txt, aby se mohl připojit k e-mailovým zprávům.
Copy-Item "\\Server01\Share\Get-Widget.ps1" -Destination "\\Server12\ScriptArchive\Get-Widget.ps1.txt"
Příklad 5: Zkopírování souboru do vzdáleného počítače
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje test.log ze složky D:\Folder001 do složky C:\Folder001_Copy ve vzdáleném počítači pomocí informací o relaci uložených v proměnné $Session. Původní soubor se neodstraní.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "D:\Folder001\test.log" -Destination "C:\Folder001_Copy\" -ToSession $Session
Příklad 6: Zkopírování celého obsahu složky do vzdáleného počítače
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje celý obsah ze složky D:\Folder002 do adresáře C:\Folder002_Copy ve vzdáleném počítači pomocí informací o relaci uložených v proměnné $Session. Podsložky se zkopírují se stromy souborů beze změny.
$Session = New-PSSession -ComputerName "Server02" -Credential "Contoso\User01"
Copy-Item "D:\Folder002\" -Destination "C:\Folder002_Copy\" -ToSession $Session
Příklad 7: Rekurzivně zkopírujte celý obsah složky do vzdáleného počítače.
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje celý obsah ze složky D:\Folder003 do adresáře C:\Folder003_Copy ve vzdáleném počítači pomocí informací o relaci uložených v proměnné $Session. Podsložky se zkopírují se stromy souborů beze změny. Protože se používá parametr Recurse, operace vytvoří složku Folder003_Copy, pokud ještě neexistuje.
$Session = New-PSSession -ComputerName "Server04" -Credential "Contoso\User01"
Copy-Item "D:\Folder003\" -Destination "C:\Folder003_Copy\" -ToSession $Session -Recurse
Příklad 8: Zkopírování souboru do vzdáleného počítače a následné přejmenování souboru
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje scriptingexample.ps1 ze složky D:\Folder004 do složky C:\Folder004_Copy ve vzdáleném počítači pomocí informací o relaci uložených v proměnné $Session. V rámci operace kopírování příkaz změní název položky z scriptingexample.ps1 na scriptingexample_copy.ps1, aby se mohl připojit k e-mailovým zprávům. Původní soubor se neodstraní.
$Session = New-PSSession -ComputerName "Server04" -Credential "Contoso\User01"
Copy-Item "D:\Folder004\scriptingexample.ps1" -Destination "C:\Folder004_Copy\scriptingexample_copy.ps1" -ToSession $Session
Příklad 9: Zkopírování vzdáleného souboru do místního počítače
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje test.log ze vzdáleného C:\MyRemoteData\ do místní složky D:\MyLocalData pomocí informací o relaci uložených v proměnné $Session. Původní soubor se neodstraní.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\test.log" -Destination "D:\MyLocalData\" -FromSession $Session
Příklad 10: Zkopírování celého obsahu vzdálené složky do místního počítače
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje celý obsah ze vzdálené složky C:\MyRemoteData\scripts do místní složky D:\MyLocalData pomocí informací o relaci uložených v proměnné $Session. Pokud složka skriptů obsahuje soubory v podsložkách, zkopírují se tyto podsložky se stromy souborů beze změny.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\scripts" -Destination "D:\MyLocalData\" -FromSession $Session
Příklad 11: Rekurzivně zkopírujte celý obsah vzdálené složky do místního počítače.
Relace se vytvoří na vzdáleném počítači s názvem Server01 s přihlašovacími údaji Contoso\User01 a uloží výsledky do proměnné s názvem $Session.
Rutina Copy-Item zkopíruje celý obsah ze vzdálené složky C:\MyRemoteData\scripts do místní složky D:\MyLocalData\scripts pomocí informací o relaci uložených v proměnné $Session. Protože se používá parametr Recurse, operace vytvoří složku skriptů, pokud ještě neexistuje. Pokud složka skriptů obsahuje soubory v podsložkách, zkopírují se tyto podsložky se stromy souborů beze změny.
$Session = New-PSSession -ComputerName "Server01" -Credential "Contoso\User01"
Copy-Item "C:\MyRemoteData\scripts" -Destination "D:\MyLocalData\scripts" -FromSession $Session -Recurse
Parametry
-Confirm
Před spuštěním cmdletu vás vyzve k potvrzení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | viz |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Container
Označuje, že tato rutina zachovává objekty kontejneru během operace kopírování. Ve výchozím nastavení je parametr Container nastaven na hodnotu True.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | True |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Credential
Poznámka:
Tento parametr nejsou podporovány žádnými poskytovateli nainstalovanými v PowerShellu. Pokud chcete zosobnit jiného uživatele nebo zvýšit oprávnění při spuštění této rutiny, použijte Invoke-Command.
Vlastnosti parametru
| Typ: | PSCredential |
| Default value: | Current user |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Destination
Určuje cestu k novému umístění. Výchozí hodnota je aktuální adresář.
Chcete-li přejmenovat zkopírovanou položku, zadejte nový název v hodnotě parametru Destination.
Vlastnosti parametru
| Typ: | String |
| Default value: | Current directory |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Exclude
Určuje, jako pole řetězců, položku nebo položky, které tento příkaz vylučuje z operace. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například *.txt. Jsou povoleny zástupné znaky. Parametr Exclude je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Filter
Určuje filtr pro kvalifikaci parametru Path. Zprostředkovatel FileSystem je jediným nainstalovaným poskytovatelem PowerShellu, který podporuje použití filtrů. Syntaxi jazyka filtru FileSystem najdete v about_Wildcards. Filtry jsou efektivnější než jiné parametry, protože je poskytovatel použije, když rutina získá objekty místo toho, aby objekty po jejich načtení vyfiltrovala PowerShell.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Force
Označuje, že tato rutina kopíruje položky, které se jinak nedají změnit, například kopírování přes soubor nebo alias jen pro čtení.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-FromSession
Určuje PSSession objekt, ze kterého se kopíruje vzdálený soubor. Pokud použijete tento parametr, Cesta a LiteralPath parametry odkazují na místní cestu na vzdáleném počítači.
Vlastnosti parametru
| Typ: | PSSession |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Include
Určuje, jako pole řetězců, jednu nebo více položek, které tento cmdlet zahrnuje v operaci. Hodnota tohoto parametru kvalifikuje parametr Path. Zadejte prvek cesty nebo vzor, například "*.txt". Jsou povoleny zástupné znaky. Parametr Include je efektivní pouze v případě, že příkaz obsahuje obsah položky, například C:\Windows\*, kde zástupný znak určuje obsah adresáře C:\Windows.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-LiteralPath
Určuje cestu k jednomu nebo více místům. Hodnota LiteralPath se používá přesně tak, jak je zadána. Žádný znak není interpretován jako zástupný znak. Pokud cesta obsahuje únikové znaky, uzavřete ji do jednoduchých uvozovek. Jednoduché uvozovky říkají PowerShellu, aby žádné znaky neinterpretoval jako únikové sekvence.
Další informace najdete v about_Quoting_Rules.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | PSPath |
Sady parametrů
LiteralPath
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-PassThru
Vrátí objekt, který představuje položku, se kterou pracujete. Ve výchozím nastavení tato rutina negeneruje žádný výstup.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Path
Určuje cestu k položkám, které se mají zkopírovat, jako pole řetězců. Jsou povoleny zástupné znaky.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | True |
| DontShow: | False |
Sady parametrů
Path
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-Recurse
Označuje, že tato rutina provede rekurzivní kopírování.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-ToSession
Určuje PSSession objekt, do kterého se kopíruje vzdálený soubor. Při použití tohoto parametru odkazuje parametr Destination na místní cestu na vzdáleném počítači.
Vlastnosti parametru
| Typ: | PSSession |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-UseTransaction
Zahrnuje příkaz v aktivní transakci. Tento parametr je platný pouze v případě, že probíhá transakce. Další informace najdete v tématu about_Transactions.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | usetx |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-WhatIf
Ukazuje, co se stane, když se příkaz spustí. Cmdlet se nespustil.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | False |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | Wi |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Řetězec, který obsahuje cestu, můžete předat tomuto cmdletu.
Výstupy
None or an object representing the copied item
Pokud použijete parametr PassThru, vrátí tato rutina objekt, který představuje zkopírovanou položku. Jinak tato rutina negeneruje žádný výstup.
Poznámky
Tato rutina je navržená tak, aby fungovala s daty vystavenými jakýmkoli poskytovatelem. Chcete-li zobrazit seznam poskytovatelů dostupných ve vaší relaci, napište Get-PSProvider. Pro více informací viz about_Providers.