Powershell如何复制整个文件夹结构,但排除一个文件夹及其内容

时间:2015-02-13 11:01:07

标签: powershell powershell-v3.0

这似乎是一个简单的操作,但我无法弄清楚如何让Powershell将整个文件夹结构从一个位置复制到另一个位置但排除一个文件夹(称为“连接”)及其内容。

我尝试过像这样组合Copy-Item和Get-ChildItem

cpi (gci folder1 -Exclude connections) folder2  -recurse

但似乎-recurse参数会覆盖-exclude参数,并且会复制连接文件夹及其内容。如果没有 - 重复我想要复制的文件夹的内容将被忽略。

1 个答案:

答案 0 :(得分:2)

我不确定为什么它不起作用,它似乎在我的机器上表现正常。

您可以随时输入Copy-Item

Get-ChildItem folder1 | where { !(($_ -is [System.IO.DirectoryInfo]) -and ($_.Name -eq "connections")) } | Copy-Item -Destination folder2 -Recurse

这样做的好处是你可以让PowerShell在输出后输出:

Get-ChildItem folder1 | where { !(($_ -is [System.IO.DirectoryInfo]) -and ($_.Name -eq "connections")) }

这样你可以确切地检查被复制的内容(即"连接"文件夹丢失了吗?)