复制项目不按预期方式工作

我不知道我在做什么错误的这个命令,并希望另一组眼睛指出。

我想复制目录结构,但不是结构包含的文件。

Copy-Item -recurse -exclude *.* -path \\server1\z$\backups\ -destination \\server2\z$\ -Verbose 

该命令运行,但它复制文件,尽pipe告诉它不要复制文件。 我如何复制目录树而不是文件?

尝试这个。

copy-item -path "\\server1\z$\backups\" -Destination "\\server2\z$\" -Filter {$_.PSIsContainer -eq $True} -recurse

 robocopy /e /XF *.* 

对不起,这并没有真正回答你的问题。 也许尝试这样的事情:

 ForEach($folder in Get-ChildItem -Recurse \\server1\z$\backups\ | ? { $_.PSIsContainer }) { Copy-Item -Path $folder -Destination \\server2\z$\$folder } 

上面的PS脚本可能需要一些调整 – 我没有真正testing它。 但是这个概念就在那里。

这是我想出来的。 在运行之前,您可以取出“mkdir”命令进行testing。

 $src = "c:\temp" $dest = "c:\test" $dirs = dir -Recurse $src | Where {$_.psIsContainer -eq $true} foreach( $name in $dirs ) { $tmp = $name.fullname.Replace($name.Root,$dest + "\") $tmp mkdir $tmp }