首页 > 解决方案 > 仅使用 Powershell 备份文件新文件

问题描述

我正在编写一个 Powershell 脚本来仅将新文件添加到备份中。我有一个备份文件夹,然后我在一分钟后添加一个新文件,它复制了我只想复制新文件的所有内容。如您所见,我正在获取文件并将它们备份到带有时间戳的 $Destination 文件夹中。几分钟后,我添加了一个新文件并再次运行脚本,它将新添加的文件与所有其他文件一起复制。我只希望将新添加的文件复制到新备份中。我需要做什么才能合并这个?

这是我的代码:

function BackupArtifacts {

Param(
$FileLocation = "C:\TempCopy",
$Destination = "C:\TempCopyBackUp_" + $TimeStamp,
$StartRange = -100,
$NumberOfDays = 5
)

New-Item -ItemType Directory -Force -Path $Destination
$count = 0

foreach ($fileList in Get-ChildItem $FileLocation -recurse) 
{    
    if ($fileList.LastWriteTime -ge ($(Get-Date)).AddDays($StartRange))
    { 
        #Check if file already exists 

        try {
                Copy-Item $fileList.FullName -Destination $Destination -Recurse
                Write-Host $fileList.FullName
                $count ++                                
        } catch {
        Write-Error $_
        }
     }                            
}
Write-Host "Backup complete, Number of files backed up:" $count
}

BackupArtifacts $FileLocation $Destination $StartRange $NumberOfDays

标签: powershellbackup

解决方案


推荐阅读