递归比较两个文件夹并保存重复的文件



我正试图做一些非常奇怪的事情。任何替代方案都可以进行分析,但我工作的过程很难改变。

我有一个文件夹要部署在IIS web服务器中。此文件夹可以包含任何文件,如dll、asmx、web.config、.exe等。我们有一个执行完整备份的bat脚本,但一个简单的文件部署可能会持续一个小时。

我想要一些实用程序或制作一个powershell脚本,将要部署的文件夹与目标文件夹进行比较,并且只备份第一个文件夹中具有相同文件的文件(或文件夹)。这必须递归地完成,并且还必须在目标服务器中保留文件夹结构。

编辑:我目前正在编写一个powershell脚本,它将是这样的(我绝对不是powershell专家):

Compare-Object $d1 $d2 | Where-Object {$_.SideIndicator -ne "=>" -and $_.InputObject -ne "*.ok*" -and $_.InputObject -ne "*.bat*" }

如有任何帮助或建议,我们将不胜感激!问候

您将无法使用compare对象来维护文件结构。。。我很无聊,所以给你。

$sPath = "C:test"
$dPath = "C:test2"
$src = gci -recurse $sPath
$dest = gci -recurse $dPath
$src | % { 
    foreach($item in $dest) {
        $t1 =  ($item.FullName).trimStart($dpath)
        $t2 =  ($_.FullName).trimStart($sPath)
        if($t1 -eq $t2) {copy-item $item.FullName $_.FullName -Force}
    }
}

只需将$spath设置为src目录,将$dPath设置为您的部署目录,然后让她翻录即可。

相关内容

  • 没有找到相关文章

最新更新