如何使用 PowerShell 将项目从一个位置复制到另一个位置?


要在 PowerShell 中复制项目,需要使用 **Copy-Item** cmdlet。使用 **Copy-Item** 时,需要提供源文件名和目标文件名或文件夹名。

在下面的示例中,我们将从 **D:\Temp** 复制单个文件到 **D:\Temp1** 位置。

示例

Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp1\ -PassThru

输出

PS C:\Windows\System32> Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp1\ -PassThru
    Directory: D:\Temp1
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20-01-2020     12:10        1148809 PowerShellcommands.csv

在上面的示例中,**PowerShellCommands.csv** 文件将从 **D:\Temp** 复制到 **D:\Temp1** 位置。如果文件已存在,则它会简单地覆盖该文件,而不会有任何提示、错误或警告。

在命令中使用 –**Passthru** 参数时,它会在控制台中显示输出。

您也可以在使用复制命令时重命名项目。为此,需要在目标参数中提及新的文件名。

示例

Copy-Item -Path D:\Temp\PowerShellcommands.csv 
-Destination D:\Temp1\PowerShel lcommands1.csv -PassThru

输出

PS C:\Windows\System32> Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp1\PowerShellcommands1.csv -PassThru
    Directory: D:\Temp1
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20-01-2020     12:10        1148809 PowerShellcommands1.csv

在将项目复制到另一个位置时,它们的属性也会随之复制。

当您将文件从源文件夹复制到目标文件夹时,如果目标文件夹不存在,则文件将不会被复制,并且会抛出 **DirectoryNotFoundException** 异常。

示例

例如,我们将上面提到的 **PowerShellcommands1.csv** 文件复制到未知目标文件夹 **D:\Temp2**,如下所示。

Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp2\PowerShel
lcommands.csv -PassThru

输出

PS C:\Windows\System32> Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp2\PowerShellcommands.csv -PassThru
Copy-Item : Could not find a part of the path 'D:\Temp2\PowerShellcommands.csv'.
At line:1 char:1
+ Copy-Item -Path D:\Temp\PowerShellcommands.csv -Destination D:\Temp2\ ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Copy-Item], DirectoryNotFoundException
    + FullyQualifiedErrorId : System.IO.DirectoryNotFoundException,Microsoft.PowerShell.Commands.CopyItemCommand

更新于: 2020年3月12日

16K+ 浏览量

开启您的 职业生涯

通过完成课程获得认证

立即开始
广告