在 PowerShell 中复制带有子文件夹的文件夹

Rohan Timalsina 2023年1月30日
  1. 在 PowerShell 中复制带有子文件夹的文件夹
  2. 在 PowerShell 中使用 Copy-Item Cmdlet 复制带有子文件夹的文件夹
在 PowerShell 中复制带有子文件夹的文件夹

本教程将教你在 PowerShell 中复制带有子文件夹的文件夹。

在 PowerShell 中复制带有子文件夹的文件夹

大多数情况下,系统管理员必须执行各种文件和文件夹操作。将文件夹内容从一个位置复制到另一个位置就是其中之一。

PowerShell 支持处理系统中不同的文件夹操作。使用 PowerShell 控制台,你可以创建、复制、移动、重命名和删除文件夹。

使用复制和粘贴选项或拖放功能只需单击几下即可轻松复制文件夹。但是,当你有很多文件夹要复制到各个位置时,这将需要很长时间。

你可以运行 PowerShell 脚本或命令来自动执行文件夹复制任务。复制时,你可能还必须复制文件夹的子文件夹和内容。

在 PowerShell 中使用 Copy-Item Cmdlet 复制带有子文件夹的文件夹

Copy-Item cmdlet 将项目从一个位置复制到另一个位置。你可以使用此 cmdlet 将文件夹及其内容复制到指定位置。

你将需要提供从一个地方复制到另一个地方的源和目标路径。 -Path 参数指定要复制的项目的路径,-Destination 参数指定应复制项目的位置。

Copy-Item cmdlet 默认不打印任何输出。 -PassThru 参数返回一个表示复制项目的对象。

这是将文件夹 C:\test_folder1 复制到 C:\New 的示例。

Copy-Item -Path "C:\test_folder1" -Destination "C:\New" -PassThru

输出:

    Directory: C:\New


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2/23/2022  11:43 PM                test_folder1

它只复制文件夹而不复制其内容。

Get-ChildItem "C:\New"

输出:

 Directory: C:\New


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2/23/2022  11:43 PM                test_folder1
-a----         2/3/2022  12:36 PM             81 python.txt
-a----         2/3/2022  12:36 PM             84 test.txt

你将需要使用 -Recurse 参数来执行递归复制。它将带有子文件夹的文件夹的所有内容复制到指定目录。

以下命令将文件夹 C:\test_folder1 的内容复制到目录 C:\pc

Copy-Item -Path "C:\test_folder1" -Destination "C:\pc" -Recurse

现在,验证 test_folder1 的内容是否被复制。

Get-childItem "C:\pc\test_folder1"

输出:

    Directory: C:\pc\test_folder1


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2/23/2022  11:22 PM                New folder
-a----         2/23/2022  10:29 PM              0 books.txt
-a----         2/23/2022  10:29 PM              0 hello.txt

如图所示,所有带有子文件夹的文件夹内容都被复制到指定位置。

如果你只想复制文件夹的内容而不是文件夹本身,则可以在源路径中使用\*

例如:

Copy-Item -Path "C:\test_folder1\*" -Destination "C:\folder2" -Recurse

检查目录 C:\folder2 中的内容。

Get-ChildItem "C:\folder2"

如图所示,这次没有复制 test_folder1,而是将其所有内容复制到目录 C:\folder2

输出:

 Directory: C:\folder2


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2/23/2022  11:36 PM                New folder
-a----         2/23/2022  10:29 PM              0 books.txt
-a----         2/23/2022  10:29 PM              0 hello.txt

我们希望本教程可以帮助你使用 PowerShell 复制带有子文件夹的文件夹。

作者: Rohan Timalsina
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

相关文章 - PowerShell Folder