此脚本在PowerShell中完美运行。它复制具有特定类型的所有文件。但是我希望用它来复制文件夹&子文件夹。
$dest = "C:\example"
$files = Get-ChildItem -Path "C:\example" -Filter "*.msg" -Recurse
foreach ($file in $files) {
$file_path = Join-Path -Path $dest -ChildPath $file.Name
$i = 1
while (Test-Path -Path $file_path) {
$i++
$file_path = Join-Path -Path $dest -ChildPath
"$($file.BaseName)_$($i)$($file.Extension)"
}
Copy-Item -Path $file.FullName -Destination $file_path
}
答案 0 :(得分:33)
问题:如何使用Windows PowerShell 3.0将文件夹结构从驱动器复制到网络共享,并保留原始结构?
答案:使用Copy-Item
cmdlet并指定–Container
切换参数:
$sourceRoot = "C:\temp"
$destinationRoot = "C:\n"
Copy-Item -Path $sourceRoot -Filter "*.txt" -Recurse -Destination $destinationRoot -Container