PowerShell 复制源文件夹中的所有文件和子文件夹到目
PowerShell 复制源文件夹中的所有文件和子文件夹到目
在 PowerShell 中,你可以使用 Copy-Item 命令来复制多层文件夹中的文件。以下是一个示例脚本,它会递归地复制源文件夹中的所有文件和子文件夹到目标文件夹中:
# 定义源文件夹和目标文件夹路径
$sourcePath = "C:\Path\To\SourceFolder"
$destinationPath = "C:\Path\To\DestinationFolder"使用 Copy-Item 命令递归复制所有文件和文件夹
Copy-Item -Path $sourcePath -Destination $destinationPath -Recurse -Force
参数说明:
-
-Path:指定源文件夹的路径。
-
-Destination:指定目标文件夹的路径。
-
-Recurse:递归复制所有子文件夹和文件。
-
-Force:强制复制,即使目标文件夹已经存在同名文件也会覆盖。
注意事项:
-
如果目标文件夹不存在,Copy-Item 会自动创建它。
-
如果目标文件夹中已经存在同名文件,使用 -Force 参数会覆盖这些文件。如果不希望覆盖,可以去掉 -Force 参数。
其他选项:
如果你只想复制特定类型的文件(例如 .txt 文件),可以使用 Get-ChildItem 结合 Copy-Item:
# 复制所有 .txt 文件
Get-ChildItem -Path $sourcePath -Recurse -Filter *.txt | ForEach-Object {$destinationFile = $_.FullName.Replace($sourcePath, $destinationPath)Copy-Item -Path $_.FullName -Destination $destinationFile -Force
}
这个脚本会递归地查找所有 .txt 文件,并将它们复制到目标文件夹中,保持原有的目录结构。