Script om een backup te maken van map A naar map B op een externe schijf.

Dit is een voorbeeld script om eenvoudig een backup te maken.

PowerShell file

# Definieer de bron- en bestemmingsmappen
$source = "C:\Your\Source\Directory"
$destination = "E:\Your\External\Drive"

# Haal de huidige datum op in het formaat JJJJ-MM-DD
$date = Get-Date -Format "yyyy-MM-dd"

# Logbestand met datum 
$logfile = "C:\Backup\backup_log_$date.txt"

# Datum en tijdstempel voor het logbestand (optioneel)
Add-Content -Path $logfile -Value "Backup gestart op $(Get-Date) `n"

# Controleer of de externe schijf beschikbaar is
if (-Not (Test-Path $destination)) {
    Write-Host "Fout: De externe schijf is niet gevonden op $destination."
    Write-Host "Controleer of de schijf is aangesloten en probeer opnieuw."
    Add-Content -Path $logfile -Value "Fout: De externe schijf is niet gevonden op $destination. `n"

    exit
}

# Robocopy opdracht
$robocopyOptions = "/MIR /R:3 /W:5 /LOG+:$logfile"
Start-Process -NoNewWindow -FilePath "robocopy" -ArgumentList "$source $destination $robocopyOptions" -Wait

# Meld dat de backup is voltooid
Add-Content -Path $logfile -Value "Backup voltooid op $(Get-Date) `n"
Write-Host "Backup succesvol voltooid."

Copy

Batch file

@echo off

:: Definieer de bron- en bestemmingsmappen
set source="C:\Your\Source\Directory"
set destination="E:\Your\External\Drive"

:: Haal de huidige datum op in het formaat JJJJ-MM-DD
for /f "tokens=2-4 delims=/.- " %%a in ('echo %date%') do (
    set today=%%c-%%a-%%b
)

:: Controleer of de externe schijf beschikbaar is
if not exist %destination% (
    echo Fout: De externe schijf is niet gevonden op %destination%.
    echo Controleer of de schijf is aangesloten en probeer opnieuw.
    pause
    exit /b
)

:: Logbestand met datum 
set logfile="C:\Backup\backup_log_%today%.txt"

:: Datum en tijdstempel voor in het logbestand
echo Backup gestart op %date% om %time% >> %logfile%

:: Robocopy opdracht
:: /MIR: Spiegel bron- en bestemmingsmappen (kopieert nieuwe/aangepaste bestanden, verwijdert in de bestemming)
:: /R:3: Probeer 3 keer opnieuw bij een fout
:: /W:5: Wacht 5 seconden tussen pogingen
:: /LOG+: Voeg de log toe aan het logbestand
robocopy %source% %destination% /MIR /R:3 /W:5 /LOG+:%logfile%

:: Meld dat de backup is voltooid
echo Backup voltooid op %date% om %time% >> %logfile%
echo Backup succesvol voltooid.

:: Pauzeer het script om het resultaat te tonen
pause

Copy

Als je hulp nodig hebt met het maken of uitvoeren van scripts, laat het me weten!