From 89d0ec2b14e5b654d8180d7c14d735f19e7bb810 Mon Sep 17 00:00:00 2001 From: D4rkst3r Date: Thu, 13 Aug 2026 10:06:11 +0200 Subject: [PATCH] fix: das Abholskript sagt jetzt, WORAN es haengt Gemeldet: "danach nur ==> Nachsehen und dann passiert nichts mehr." Zwischen der Ueberschrift und der ersten Ausgabe liefen drei Schritte, die alle drei minutenlang blockieren koennen -- Test-Path, New-Item und Resolve-Path, wenn ein Pfad auf eine Netzfreigabe oder eine schlafende Platte zeigt. Welcher davon stand, war von aussen nicht zu sehen. Jetzt sagt jeder Schritt VORHER, was er tut. Eine Ausgabe, die erst nach dem Blockieren kommt, hilft genau dann nicht, wenn man sie braucht. Co-Authored-By: Claude Opus 5 --- tools/heim-abholen.ps1 | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/tools/heim-abholen.ps1 b/tools/heim-abholen.ps1 index 36bd92f..2be241e 100644 --- a/tools/heim-abholen.ps1 +++ b/tools/heim-abholen.ps1 @@ -90,16 +90,28 @@ sh.Run """$pwsh"" $vbsArg", 0, False # -- Prüfen --------------------------------------------------------------------- Schritt 'Nachsehen' +# JEDER Schritt sagt VORHER, was er tut. Beim ersten Anlauf blieb das Skript +# nach "Nachsehen" stehen, und von aussen war nicht zu sehen, WORAN -- +# Test-Path, New-Item und Resolve-Path koennen alle drei minutenlang +# blockieren, wenn ein Pfad auf eine Netzfreigabe oder eine schlafende Platte +# zeigt. Eine Ausgabe, die erst NACH dem Blockieren kommt, hilft genau dann +# nicht, wenn man sie braucht. +Write-Host " Quelle pruefen: $Quelle ..." -NoNewline if (-not (Test-Path $Quelle)) { + Write-Host '' Schlecht "Die Quelle gibt es nicht: $Quelle" Schlecht 'Synchronisiert der Nextcloud-Client diesen Ordner wirklich?' exit 1 } +Write-Host ' da.' + # Das Ziel darf NICHT im synchronisierten Ordner liegen -- sonst laedt der # Client die Kopien wieder hoch und die Rueckkopplung ist zurueck. $qVoll = (Resolve-Path $Quelle).Path.TrimEnd('\') +Write-Host " Ziel anlegen/pruefen: $Ziel ..." -NoNewline New-Item -ItemType Directory -Force -Path $Ziel | Out-Null $zVoll = (Resolve-Path $Ziel).Path.TrimEnd('\') +Write-Host ' da.' if ($zVoll.StartsWith($qVoll, [StringComparison]::OrdinalIgnoreCase)) { Schlecht 'Das Ziel liegt IM synchronisierten Ordner. Dann waere alles umsonst:' Schlecht 'der Client wuerde die Kopien wieder hochladen und mitloeschen.'