我遇到了以下问题。我有一个文件夹C:\Users\Username。在该文件夹中,您可以找到“文档”、“收藏夹”等文件夹。
我想要做的是只包含一些要复制的文件夹。
我在玩Robocopy XD来排除一些文件夹,但这是不能接受的,因为我不能知道所有的文件夹可能在那里。
然后我尝试了Get-ChildItem -include <some dir>。现在我只想复制列出的文件夹。但robocopy只复制文件夹的内容,而不复制文件夹本身。对于这个问题还有其他的解决方案吗?
发布于 2019-04-11 17:46:13
首先:不要忘记在Get-ChildItem上使用-recurse来获取对象中的所有结构。
然后在robocopy上
在进行备份时,您需要使用/s来包含非空子目录,使用/e来包含all
/s和/purge,这将大大提高备份速度。请注意,清除though
/xd <Directory>[ ...]会排除与指定名称和路径匹配的目录。(或者您可以只包含所需的子目录的列表)我使用的是这样的东西:
$source = 'C:\hold\first test'
$destination = 'C:\hold\second test'
$robocopyOptions = @('/NJH', '/NJS')
$fileList = 'test.txt'
Start robocopy -args "$source $destination $fileList $robocopyOptions"查看此问题:Powershell with Robocopy (or how the #$(*& do I pass arguments right?),
此外,log选项还救了我几次命。
有关所有参数,请参见robocopy docs
发布于 2019-04-11 19:17:57
我刚刚发现你可以做Copy-Item -Path $path"\Desktop" -Destination $newdir -Recurse,它会复制桌面文件夹和它的内容。
https://stackoverflow.com/questions/55628740
复制相似问题