我真的很难让下面的脚本工作复制文件夹和子文件夹在适当的结构(作为源服务器)。
比方说,有下面提到的文件夹:
主文件夹:文件aaa、文件bbb
子文件夹a:文件1、文件2、文件3
子文件夹b:文件4、文件5、文件6
使用的脚本:
Get-ChildItem -Path \\Server1\Test -recurse | ForEach-Object {
Copy-Item -LiteralPath $_.FullName -Destination \\server2\test |
Get-Acl -Path $_.FullName | Set-Acl -Path "\\server2\test\$(Split-Path -Path $_.FullName -Leaf)"
}
输出:文件aaa、文件bbb
子文件夹a(空文件夹)
子文件夹b(空文件夹)
文件1,文件2,文件3,文件4,文件5,文件6。
我想得到的文件复制到各自的文件夹(如源文件夹)。任何进一步的帮助是高度赞赏。
6条答案
按热度按时间dffbzjpn1#
这可以用Copy-Item来完成,不需要用Get-Childitem,我想你想多了。
我刚刚测试过,它对我很有效。
**编辑:***包括评论中的建议 *
g9icjywg2#
如果要将相同内容从源镜像到目标,请尝试以下操作。
试验:
pzfprimi3#
有一次我发现这个脚本,这个复制文件夹和文件,并保持相同的结构,源在目的地,你可以做一些尝试与此。
ds97pgxw4#
我对最流行的答案(想太多了)有困难。它把一个文件夹放在\Server\MyFolder\AFolder中,而我想把一个文件夹和下面的内容放在MyFolder中。这不起作用。
另外,我需要过滤,只复制 *.config文件。
使用“*”不起作用,因为它不递归
最后,我把路径字符串的开头剪掉,以获得相对于递归位置的childPath,这适用于所讨论的用例,并且可以访问许多子目录,而其他一些解决方案则不行。
fykwrbwg5#
给你。
示例
cunj1qz16#
我想要一个解决方案来复制在某个日期和时间之后修改的文件,这意味着我不需要使用通过过滤器管道传输的Get-ChildItem。