From 09d8cf3a7591f44d2c298ec264d2380ed6b390b1 Mon Sep 17 00:00:00 2001 From: buiaca Date: Tue, 11 Aug 2026 13:18:48 +0200 Subject: [PATCH] Adobe-Stamps-Backup.ps1: Log-Funktion integriert, Write-Warning/Write-Host durch Write-Log ersetzt --- Hermes/Adobe-Stamps-Backup.ps1 | 49 +++++++++++++++++++++++++--------- 1 file changed, 37 insertions(+), 12 deletions(-) diff --git a/Hermes/Adobe-Stamps-Backup.ps1 b/Hermes/Adobe-Stamps-Backup.ps1 index 9a47df5..a76e049 100644 --- a/Hermes/Adobe-Stamps-Backup.ps1 +++ b/Hermes/Adobe-Stamps-Backup.ps1 @@ -4,6 +4,8 @@ .DESCRIPTION Kopiert den gesamten Inhalt des Adobe Stamps-Ordners (inkl. Unterordner wie Dynamic) in einen Zielordner. Die Struktur wird als "StampsBackup" abgelegt. + Ein detaillierter Log wird in einer Datei "Adobe-Stamps-Backup.log" + imselben Verzeichnis wie die Sicherung gespeichert. .PARAMETER TargetPath Zielordner, in den die Sicherung geschrieben wird. Wird erstellt, falls nicht vorhanden. .EXAMPLE @@ -14,6 +16,30 @@ param ( [string]$TargetPath ) +# Funktion: Schreibt eine Log-Zeile mit Zeitstempel in die Log-Datei und auf die Konsole +function Write-Log { + param ( + [string]$Message, + [string]$Level = "INFO" + ) + $timestamp = Get-Date -Format "yyyy-MM-dd HH:mm:ss" + $logEntry = "$timestamp [$Level] $Message" + # Log-Datei imselben Verzeichnis wie die Sicherung + $logFile = Join-Path $TargetPath "Adobe-Stamps-Backup.log" + # Stelle sicher, dass das Zielverzeichnis existiert + if (-not (Test-Path $TargetPath)) { + New-Item -ItemType Directory -Path $TargetPath -Force | Out-Null + } + # Schreibe in die Log-Datei (anhängen) + Add-Content -Path $logFile -Value $logEntry + # Gib auch auf der Konsole aus + switch ($Level) { + "WARN" { Write-Host $logEntry -ForegroundColor Yellow } + "ERROR" { Write-Host $logEntry -ForegroundColor Red } + default { Write-Host $logEntry -ForegroundColor Green } + } +} + # Standardpfad zu den Adobe Acrobat Custom Stamps (Roaming / AppData) # Entspricht %AppData%\Adobe\Acrobat\DC\Stamps $adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps" @@ -21,33 +47,32 @@ $adobeStampsPath = Join-Path $env:APPDATA "Adobe\Acrobat\DC\Stamps" # Ziel-Unterordner innerhalb von TargetPath $backupFolder = Join-Path $TargetPath "StampsBackup" -# 1. Pruefen, ob der Quellordner (Adobe Stamps) existiert +# 1. Prüfen, ob der Quellordner (Adobe Stamps) existiert if (-not (Test-Path $adobeStampsPath)) { - Write-Warning "Der Adobe Stamps-Ordner wurde unter '$adobeStampsPath' nicht gefunden." - Write-Warning "Falls noch keine eigenen Stempel erstellt wurden, existiert der Ordner noch nicht." - Write-Warning "Erstelle eine Test-Marke in Adobe Acrobat -> Kommentar -> Stempel -> Eigene Stempel," - Write-Warning "damit der Ordner generiert wird, und wiederhole den Vorgang." + Write-Log "Der Adobe Stamps-Ordner wurde unter '$adobeStampsPath' nicht gefunden." "WARN" + Write-Log "Falls noch keine eigenen Stempel erstellt wurden, existiert der Ordner noch nicht." "WARN" + Write-Log "Erstelle eine Test-Marke in Adobe Acrobat -> Kommentar -> Stempel -> Eigene Stempel, damit der Ordner generiert wird, und wiederhole den Vorgang." "WARN" exit 1 } # 2. Zielpfad erstellen, falls nicht vorhanden if (-not (Test-Path $backupFolder)) { - New-Item -Path $backupFolder -ItemType Directory -Force | Out-Null - Write-Host "Der Sicherungsordner '$backupFolder' wurde erstellt." + New-Item -ItemType Directory -Path $backupFolder -Force | Out-Null + Write-Log "Der Sicherungsordner '$backupFolder' wurde erstellt." } # 3. Alle Stempel (PDF-Dateien und Unterordner) kopieren try { # -Recurse kopiert Unterordner wie Dynamic, Droplist etc. mit - Copy-Item -Path $adobeStampsPath\* -Destination $backupFolder -Force -Recurse -ErrorAction Stop + Copy-Item -Path "$adobeStampsPath\*" -Destination $backupFolder -Force -Recurse -ErrorAction Stop - # Anzahl der kopierten Dateien zaehlen fuer Rueckmeldung + # Anzahl der kopierten Dateien zählen für Rückmeldung $fileCount = (Get-ChildItem -Path $backupFolder -Recurse -File).Count - Write-Host "Erfolgreich alle Adobe Stempel aus '$adobeStampsPath' nach '$backupFolder' gesichert." - Write-Host "Kopierte Dateien: $fileCount" + Write-Log "Erfolgreich alle Adobe Stempel aus '$adobeStampsPath' nach '$backupFolder' gesichert." + Write-Log "Kopierte Dateien: $fileCount" } catch { - Write-Error "Fehler bei der Sicherung der Adobe Stempel: $_" + Write-Log "Fehler bei der Sicherung der Adobe Stempel: $_" "ERROR" exit 1 }