使用PowerShell同步文件夹

时间:2017-10-11 08:47:30

标签: powershell

我尝试使用此脚本同步2个文件夹

$Folder1Path = 'C:\test1'
$Folder2Path = 'C:\test2'
$folder1Files = Get-ChildItem -Recurse -path $Folder1Path
$folder2Files = Get-ChildItem -Recurse -path $Folder2Path
$file_Diffs = Compare-Object -ReferenceObject $folder1Files -DifferenceObject $folder2Files
$file_Diffs | foreach {
$copyParams = @{'Path' = $_.InputObject.FullName}
if($_.SideIndicator -eq '<=' )
{$copyParams.Destination = $Folder2Path}
copy-Item @copyParams -force
}

但是当脚本在test2下复制文件时,我遇到了问题,它不遵循正确的路径:

在文件夹test1中我有:  test1 \ test3 \ test4.txt和test1 \ test5.txt 在文件夹test2我有: test2 \ test5.txt

当我执行我的脚本时,我在文件夹test2中找到 TEST2 \ test5.txt吗 TEST2 \有test4.txt TEST2 \ TEST3

1 个答案:

答案 0 :(得分:2)

您要将<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <script src="//fast.wistia.com/assets/external/E-v1.js" async></script> <div class="wistia_embed wistia_async_479268413a"></div> <div class="wistia_embed wistia_async_5bbw8l7kl5"></div> <button class="wistia-trigger" data-video-id="479268413a"> play 479268413a </button> <button class="wistia-trigger" data-video-id="5bbw8l7kl5"> play 5bbw8l7kl5 </button>的目的地始终设为Copy-Item。这将忽略源文件的任何更深层文件夹结构。如果要保留源的文件夹结构,则需要相应地调整文件的FullName属性:

'C:\test1'