我找到了解决方案,但此解决方案并未排除所排除的子目录的内容。
我希望将目录递归复制到另一个位置,但不包括子目录"视频"及其内容。 下一个命令完成,但不排除子目录"视频"及其内容。
# PowerShell version: 4.0
# This command copy recursively the directory "J:\All" to "J:\Users\John\Desktop\my_backup", excluding "J:\All\Videos"
Copy-Item -Recurse -Path ("J:\All" | ? { $_.FullName -NotMatch ("^J:\\All\\Videos") }) "J:\Users\John\Desktop\my_backup"
谢谢!
答案 0 :(得分:3)
RoboCopy是一个更好的解决方案。见https://superuser.com/questions/482112/using-robocopy-and-excluding-multiple-directories
robocopy J:\All J:\Users\John\Desktop\my_backup /MIR /XD j:\all\videos
答案 1 :(得分:0)
试试这个:
$Source = 'J:\All'
$Destination = 'J:\Users\John\Desktop\my_backup\'
$Exclude = 'J:\All\Videos'
Get-Childitem -Recurse -Path $Source |
Where-Object { $Exclude -notcontains $_.Directory } |
foreach {
$TrimmedPath = ($_.fullname -replace [regex]::escape($Source)).trim('\') |
copy-item -Destination "$($Destination.Trim('\'))\$TrimmedPath"
}