Skip to main content

Script de sauvegarde de fichiers avec structure

 

$sourceDir = 'F:\'
$targetDir = 'Z:\backupfilessrv\F\'
$morning = (Get-Date).AddHours(-16)
$afternoon = (Get-Date).AddHours(2)
Get-ChildItem -Path $sourceDir -recurse | Where-Object {$_.LastWriteTime -gt $morning} | Where-Object {$_.LastWriteTime -lt $afternoon} | 
foreach {
    $targetFile = $targetDir + $_.FullName.SubString($sourceDir.Length);
    Write-Host $targetFile
    $m = $_.Mode
    if  ($m[0] -eq 'd') {
        Write-Host "Dir"
        New-Item -ItemType Directory -Path $targetFile -Force;
    } else {
    Write-Host "File"
    New-Item -ItemType File -Path $targetFile -Force;
    Copy-Item $_.FullName -destination $targetFile
    }
    }