约 1861 字

约 9 分钟

#PowerShell 的 Copy-Item 命令

Copy-Item
    [-Path] <String[]>
    [[-Destination] <String>]
    [-Container]
    [-Force]
    [-Filter <String>]
    [-Include <String[]>]
    [-Exclude <String[]>]
    [-Recurse]
    [-PassThru]
    [-Credential <PSCredential>]
    [-WhatIf]
    [-Confirm]
    [-FromSession <PSSession>]
    [-ToSession <PSSession>]
    [<CommonParameters>]

功能

将项从一个位置复制到另一个位置,原项不会被删除。

类型

Cmdlet,属于 Microsoft.PowerShell.Management。

参数

  • [-Path] <String[]> - 要复制的项路径;支持通配符
  • -LiteralPath <String[]> - 按字面值解释路径,不将任何字符视为通配符
  • [-Destination] <String> - 新位置,默认为当前目录;可以同时指定新名称
  • -Recurse - 递归复制子项
  • -Container - 保留容器对象;默认值为 True
  • -Force - 覆盖无法直接修改的项,例如只读文件
  • -PassThru - 返回表示被复制项的对象;默认不产生输出
  • -Filter <String> - 由提供程序执行的筛选器,通常比 -Include 更高效
  • -Include <String[]> - 只包含匹配的项;仅对 -Path 的通配符匹配结果生效
  • -Exclude <String[]> - 排除匹配的项;仅对 -Path 的通配符匹配结果生效

#示例

复制文件到目录

> Copy-Item -Path ./config.json -Destination ./backup
  • 原文件保留,副本放入 ./backup 目录。

复制并重命名

> Copy-Item -Path ./report.txt -Destination ./report.old.txt
  • 在 -Destination 中指定新文件名即可同时完成复制和重命名。

递归复制目录内容

> Copy-Item -Path ./src/* -Destination ./backup -Recurse
  • 路径末尾的 * 表示复制目录内容,而不是目录本身。

复制目录本身

> Copy-Item -Path ./src -Destination ./backup/src -Recurse
  • 目标目录不存在时会创建;-Recurse 会保留子目录结构。

#推荐阅读

更新: 2026/11/2

作者: planc

创建: 2026/11/2