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.'