在Powershell中复制整个文件夹结构而不重新创建根文件夹

3

I have a source folder like this:

source_folder -|
               |-> sub_folder1
               |-> sub_folder2
               |-> sub_folder3

在这里,sub_folder1sub_folder2sub_folder3本身都有子文件夹和文件。我还有一个现有的空文件夹dest_folder,我想最终得到的结果是:

dest_folder -|
             |-> sub_folder1
             |-> sub_folder2
             |-> sub_folder3

这里有一些子文件夹是第一个文件夹的副本。我尝试了 Copy-Item source_folder dest_folder -Recurse 但结果是:

dest_folder -|
             |-> source_folder -|
                                |-> sub_folder1
                                |-> sub_folder2
                                |-> sub_folder3

如果我能找到正确的通配符和开关组合,似乎只需简单地使用 Copy-Item 就可以实现这一点!

2个回答

7
Copy-Item C:\source\* C:\dest -Recurse

我的情况正常


(改变了我的想法 - 这可能会对某些人有所帮助,因为文档在这一点上并不清楚)。我以为我已经尝试过这个了,但显然是打错了/做了一些愚蠢的事情!无论如何,这个方法很好用。 - aucuparia
2
如果您有子文件夹,则此选项不适用于-filter选项。 - AndreiM
@AndreiM 从源路径中删除\*,并先删除目标。 rm -r -ErrorAction:SilentlyContinue C:\dest; Copy-Item C:\source C:\dest -Recurse -Filter "*.txt"。https://dev59.com/rnRB5IYBdhLWcg3w6LR2#29082938 - MakotoE

0

我遇到了同样的问题,因为我在使用这个命令时没有加上 *,所以得到了和你一样的结果。

Copy-Item C:\source C:\dest -Recurse

你是指 C:\source* 吗? - Kappacake

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接