Kopieren von Daten aus Unterordnern auf verschiedenen Laufwerken in ein Verzeichnis und auf den GIS-Server uploaden

Aus kvwmap
Wechseln zu: Navigation, Suche

Mit dieser Batchdatei besteht die Möglichkeit, Dateien von unterschiedlichen Laufwerken in einem Laufwerk zu sammeln und mittels der Skriptfunktion von WinSCP auf den GIS-Server zu kopieren. Dabei können die Dateien unterhalb des Startverzeichnisses in Unterordnern abgelegt sein. Die Dateien werden aus dieser Verzeichnisstruktur herausgelesen und in das Zielverzeichnis, ohne Unterordner, kopiert. Durch die Verwendung von xcopy mit der Option /D werden nur neuere Dateien aus den Startverzeichnissen in den Zielordner übertragen.

Nachfolgenden die Batchdatei, die so in den Taskmanager eingebunden werden kann. Die Pfadangaben sind hier nur allgemeingültig angegeben und müssen entsprechend angepasst werden

@ECHO OFF
rem Es werden alle jpg-Dateien aus den Unterverzeichnissen
rem unterhalb des angegebenen Startverzeichnisses in das Zielverzeichnis kopiert,
rem Die Verzeichnisstruktur unterhalb des Startverzeichnisses wird nicht übertragen.
rem Mit der Option (.) wird die Verzeichnisstruktur aufgelistet
rem
rem Einstellen der Verzeichnisse
rem
SET Startverz=L:\Geodata\Startverzeichnis
SET Zielverz=D:\lokaler\pfad
rem
rem Kopieren der Dateien
rem
FOR /R "%Startverz%" %%I IN (.) DO xcopy "%%I\*.jpg" %Zielverz% /Y /V /I /D
rem
rem /R – FOR-Befehl wird ausgehend vom Startverzeichnis für alle darunter liegenden Verzeichnisse ausgeführt
rem (.) – Auflisten der Verzeichnisstruktur – wird an Variable %I übergeben
rem /Y – Überschreiben /V – verifizieren der Dateien /I – Ziel ist Verzeichnis /D – nur neuere Dateien kopieren
rem
rem Naechstes Verzeichnis kopieren
rem
SET Startverz=R:\Geodata\Start\Verzeichnis
FOR /R "%Startverz%" %%I IN (.) DO xcopy "%%I\*.jpg" %Zielverz% /Y /V /I /D
rem
rem Skriptkonsole von WinSCP auf den Server geladen
rem
C:\Programme\WinSCP\WinSCP.exe /console /script=C:\Batch\upload_geodaten.scp

Das Skript 'upload_geodaten.scp' für das Übertragen der neuen Dateien mittels WinSCP sieht wie folgt aus:

# Option - Batchdatei wird auch bei Fehlern ausgefuehrt
option batch on
# Option - keine Nachfrage beim Ueberschreiben
option confirm off
# Option - binaerer Uebertragungsmodus
option transfer binary
# Oeffne Verbindung zum Server mit den Benutzerparametern 
open Benutzerkennung:Passwort@Serveradresse
# Wechsle das entfernte Verzeichnis auf /pfad/zu/den/geodaten
cd /pfad/zu/den/geodaten
# Stelle die Vergleichkriterien auf Datum und Dateigroesse
synchronize remote  -criteria=both
# Synchronisiere das entfernte Verzeichnis mit dem lokalen Verzeichnis
synchronize remote D:\lokaler\pfad /pfad/zu/den/geodaten 
# Schliesse die Sitzung
close
# Beende WinSCP
exit

WinSCP ist auf folgenden Internetseiten zu finden WinSCP.net