我不知道我在做什么错误的这个命令,并希望另一组眼睛指出。
我想复制目录结构,但不是结构包含的文件。
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 }