当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] PowerShell:使用复制项目并排除文件夹

作者:精品下载站 日期:2024-12-14 04:36:26 浏览:14 分类:玩电脑

PowerShell:使用复制项目并排除文件夹


通常,您可能希望使用 PowerShell 中的 Copy-Item cmdlet 将文件夹复制到新目录,但排除特定文件夹的复制。

您可以使用以下语法来执行此操作:

$source = "c:\users\bobbi\data3"
$destination = "c:\users\bobbi\data4"

New-Item -ItemType Directory -Force -Path $destination
Copy-Item $source\* $destination -Exclude @("*old*","baseball") -Recurse

此特定示例将 data3 目录中的所有文件夹复制到 data4 目录中,不包括名称中任何位置包含“old”的任何文件夹,也不包括名为“baseball”的文件夹。

以下示例展示了如何在实践中使用此语法。

示例:在 PowerShell 中使用复制项目和排除文件夹

假设我们有一个位于以下路径的目录:

C:\Users\bobbi\data3

我们可以输入Dir来列出该目录中的所有文件:

[玩转系统] PowerShell:使用复制项目并排除文件夹

假设我们要将所有文件从 data3 目录复制到 data4 目录中,排除名称中任何位置包含“old”的任何文件夹,并排除名为“棒球”。

我们可以使用以下语法来做到这一点:

$source = "c:\users\bobbi\data3"
$destination = "c:\users\bobbi\data4"

New-Item -ItemType Directory -Force -Path $destination
Copy-Item $source\* $destination -Exclude @("*old*","baseball") -Recurse

以下屏幕截图显示了如何在实践中使用此语法:

[玩转系统] PowerShell:使用复制项目并排除文件夹

我们可以看到,我们能够成功将 data3 目录中的所有文件夹复制到 data4 目录中,但不包括以下文件夹:

  • 所有文件夹名称中带有“old”的文件夹
  • 名为“棒球”的文件夹

注意#1:我们使用通配符 (*) 来指示名称中任何位置带有“old”的任何文件夹都不应被复制。

注意 #2: 在此示例中,我们在 -Exclude 数组中指定了两种模式,但您可以指定任意数量的模式,以排除更多文件夹被复制。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯