# Um die .ps1-Datei auszuführen, gib den folgenden Befehl ein: # .\git_diff_downgrade_to_zip.ps1 # Tags als Variablen deklarieren # $tag1 = "v1.0.0" # Ersetze durch deinen ersten Tag # $tag2 = "v1.1.0" # Ersetze durch deinen zweiten Tag $tag1 = "v1.0.19.1" # Downgrade from this tag $tag2 = "v1.0.15" # Downgrade to this tag # Aktuelles Datum und Uhrzeit für den Dateinamen $currentDateTime = (Get-Date).ToString("dd.MM.yyyy_HH_mm") # Name der Textdatei mit geänderten Dateien $changedFilesList = "changed_files_$currentDateTime.txt" # Führe git diff aus, um die geänderten Dateien zwischen zwei Tags zu ermitteln Write-Host "Ermittle geänderte Dateien zwischen $tag1 und $tag2..." git diff --name-only $tag1 $tag2 > $changedFilesList # Überprüfe, ob die Textdatei erstellt wurde if (-Not (Test-Path $changedFilesList)) { Write-Host "Die Liste der geänderten Dateien konnte nicht erstellt werden. Skript wird beendet." exit 1 } Write-Host "Liste der geänderten Dateien erstellt: $changedFilesList" # Name der ZIP-Datei mit Datum und Uhrzeit $zipFile = "changed_files_$currentDateTime.zip" # Stelle sicher, dass die ZIP-Datei nicht bereits existiert if (Test-Path $zipFile) { Remove-Item $zipFile } # Lade die Dateien aus der Liste $files = Get-Content $changedFilesList # Erstelle ein neues ZIP-Archiv Add-Type -AssemblyName System.IO.Compression.FileSystem $zipArchive = [System.IO.Compression.ZipFile]::Open($zipFile, 'Create') foreach ($file in $files) { try { # Absolute Pfade erstellen $filePath = (Resolve-Path $file).Path [System.IO.Compression.ZipFileExtensions]::CreateEntryFromFile($zipArchive, $filePath, $file) } catch { Write-Host "Fehler beim Hinzufügen der Datei: $file" } } $zipArchive.Dispose() Write-Host "ZIP-Datei erstellt: $zipFile"