powershell-在递归复制期间无法排除文件夹

powershell-在递归复制期间无法排除文件夹,powershell,Powershell,我是powershell新手,在递归复制期间尝试排除某些目录时遇到问题。感谢您的帮助! 提前谢谢 $Date = Get-Date $Date = $Date.adddays(-1) $destPath = "\\destination\test" $srcPath = "H:\program files\symphony\Save" $srcPathRemits = “H:\program files\symphony\files" $destDrive = "X:" $User = "us

我是powershell新手,在递归复制期间尝试排除某些目录时遇到问题。感谢您的帮助! 提前谢谢

$Date = Get-Date
$Date = $Date.adddays(-1)

$destPath = "\\destination\test"
$srcPath = "H:\program files\symphony\Save"
$srcPathRemits = “H:\program files\symphony\files"
$destDrive = "X:"
$User = "user"
$Password = "password"

$exclude = @('H:\program files\symphony\files\Temp\*','H:\program files\symphony\files\Other\*','H:\program files\symphony\files\etc\*','H:\program files\symphony\files\ParsedXML\*')

$net = new-object -ComObject WScript.Network
$net.MapNetworkDrive($destDrive, $destPath, $false, $User, $Password)

gci -recurse -path $srcPathRemits -Exclude $exclude | ? {!($_.psiscontainer) -AND $_.lastwritetime -gt $Date} | %  { write-host $_.fullname; Copy-Item -path $_.fullname -destination $destDrive} 
$net.RemoveNetworkDrive($destDrive,"true","true")

您没有说明问题出在哪里,但我假设目录(
$exclude
)未正确排除。请尝试此操作,对于
gci
行:

Get-Item -Path H:\program files\symphony\files\* -Exclude Temp, Other, etc, ParsedXML | Get-ChildItem -recurse | ? {!($_.psiscontainer) -AND $_.lastwritetime -gt $Date} | %  { write-host $_.fullname; Copy-Item -path $_.fullname -destination $destDrive}

当你说你遇到问题时,你能说得更具体些吗?你收到错误消息了吗?那是什么?有机会的话,请在回答的问题上做记号。谢谢。嗨,大卫,你的假设是正确的,($exclude)不起作用。您的解决方案非常有效!谢谢你的帮助@好极了!你能把我的答案记下来吗?谢谢。我们可以从源代码开始维护目标文件夹结构吗??它将所有文件复制到单个目标