共用方式為


Copy-Item

將某個位置中的項目複製到命名空間中的另一個位置。

語法

Copy-Item [-LiteralPath] <string[]> [[-Destination] <string>] [-Container] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

Copy-Item [-Path] <string[]> [[-Destination] <string>] [-Container] [-Credential <PSCredential>] [-Exclude <string[]>] [-Filter <string>] [-Force] [-Include <string[]>] [-PassThru] [-Recurse] [-Confirm] [-WhatIf] [-UseTransaction] [<CommonParameters>]

描述

Copy-Item Cmdlet 會將某個位置的項目複製到命名空間中的另一個位置。Copy-Item 不會刪除正要複製的項目。此 Cmdlet 可以複製的特定項目會依可用的 Windows PowerShell 提供者而定。例如,當搭配 FileSystem 提供者使用時,它可以複製檔案和目錄;而與 Registry 提供者搭配使用,則可以複製登錄機碼和項目。

參數

-Container

進行複製作業期間保留容器物件。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Credential <PSCredential>

指定具有執行此動作之權限的使用者帳戶。預設為目前使用者。

請輸入使用者名稱,例如 "User01" 或 "Domain01\User01",或是輸入 PSCredential 物件,例如由 Get-Credential Cmdlet 所產生的物件。如果輸入使用者名稱,將會提示您提供密碼。

所有隨 Windows PowerShell 安裝的提供者都不支援此參數。

必要?

false

位置?

named

預設值

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-Destination <string>

指定項目的複製目的地所在路徑。

必要?

false

位置?

2

預設值

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-Exclude <string[]>

忽略指定的項目。允許使用萬用字元。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Filter <string>

指定以提供者的格式或語言表示的篩選器。此參數的值用於限定 Path 參數。篩選器的語法 (包括萬用字元的用法) 依提供者而定。篩選器比其他參數更有效率,因為提供者會在擷取物件時套用篩選器,而非等到 Windows PowerShell 擷取物件後才進行篩選。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Force

允許此 Cmdlet 複製無法以其他方式變更的項目,例如覆寫掉唯讀的檔案或別名。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Include <string[]>

指定僅限 Cmdlet 將對其執行的項目,排除其餘所有項目。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-LiteralPath <string[]>

指定項目的路徑。LiteralPath 會使用實際輸入的內容做為參數值。任何字元均不被解譯成萬用字元。如果路徑中包含逸出字元,請將其置於單引號內。單引號係告訴 Windows PowerShell 不要將任何字元解譯成逸出序列。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByPropertyName)

接受萬用字元?

false

-PassThru

傳回代表每一個已複製項目的物件。根據預設,此 Cmdlet 不會產生任何輸出。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Path <string[]>

指定要複製的項目所在路徑。

必要?

true

位置?

1

預設值

接受管線輸入?

true (ByValue, ByPropertyName)

接受萬用字元?

false

-Recurse

指定遞迴複製。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-Confirm

在執行命令前先提示確認。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-WhatIf

說明執行命令時將會發生何種情況,但不會實際執行命令。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

-UseTransaction

將命令加入現用交易中。此參數只有當交易進行中時才有效。如需詳細資訊,請參閱 about_Transactions。

必要?

false

位置?

named

預設值

接受管線輸入?

false

接受萬用字元?

false

<CommonParameters>

這個 Cmdlet 支援一般參數:-Verbose、-Debug、-ErrorAction、-ErrorVariable、-OutBuffer 和 -OutVariable。如需詳細資訊,請參閱 about_Commonparameters.

輸入和輸出

輸入型別是可經由管道輸出至 Cmdlet 的物件型別。傳回型別則是 Cmdlet 所傳回的物件型別。

輸入

System.String

您可以經由管道將包含路徑的字串輸出至 Copy-ItemProperty。

輸出

無,或是代表已複製之項目的物件。

當您使用 PassThru 參數時,Copy-Item 會傳回代表已複製之項目的物件。否則,這個 Cmdlet 不會產生任何輸出。

附註

Copy-Item 與其他殼層中的 'cp' 或 'copy' 等命令類似。

Copy-Item Cmdlet 設計的用意是要操作任一提供者所公開的資料。若要列出可在工作階段中使用的提供者,請輸入 "Get-PsProvider"。如需詳細資訊,請參閱 about_Providers。

範例 1

C:\PS>copy-item C:\Wabash\Logfiles\mar1604.log.txt -destination C:\Presentation

描述
-----------
這個命令會將檔案 mar1604.log.txt 複製到 C:\Presentation 目錄。這個命令不會刪除原始檔案。





範例 2

C:\PS>copy-item C:\Logfiles -destination C:\Drawings -recurse

描述
-----------
這個命令會將整個 Logfiles 目錄的內容複製到 Drawings 目錄。如果來源目錄的子目錄下包含檔案,則會依它們原有的檔案樹狀目錄複製這些子目錄。Container 參數的預設值為 true。這樣會保留目錄結構。





範例 3

C:\PS>copy-item C:\Logfiles -destination C:\Drawings\Logs -recurse

描述
-----------
這個命令會將 C:\Logfiles 目錄的內容複製到 C:\Drawings\Logs 目錄。這個命令會建立子目錄 \Logs (如果尚未存在)。





請參閱

概念

about_Providers
Clear-Item
Get-Item
Invoke-Item
Move-Item
Set-Item
New-Item
Remove-Item
Rename-Item