在 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 复制带有子文件夹的文件夹。